| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > Миграция с JBoss 4.0.4-GA на JBoss 4.2.0-GA |
| Автор: JUncle 12.7.2007, 15:53 |
| Здравствуйте! Собственно, перелезли с 4.0.4 на 4.2.0. Всплыла следующая ошибка. Первый запрос к БД из EJB-на проходит нормально, остальные падают, если происходят в этом же соединении. После долгого изучения доступных источников, стало вроде бы понятно что это из-за нового менеджера транзакций. Не особо понятна "физика" явления. Транзакций в явном виде не используем. Может кто-то лечил такое? Подскажите пожалуйста, как лучше всего это сделать. |
| Автор: mindflyer 12.7.2007, 16:28 |
| Подробнее, плиз. К базе как обращаетесь? hibernate, JDBC,...? Какая СУБД? Пример EJB тоже не помешает. И сама ошибка вместе со стектрейсом. Месяц назад сделали такой же переезд, проблем не было. Работаем через hibernate. |
| Автор: JUncle 17.7.2007, 19:34 |
| mindflyer, виноват, времени не было. Использован Hibernate. В том то и было дело. Транзакции были не при чем. У версии Hibernate в JBoss 4.2.0 изменена работа с параметрами запроса. Если раньше допускалось, допустим, вместо числового значения подставлять строчку, представляющее это значение, то сейчас такие вольности не прокатывают. Вот и вся трабла. |
| Автор: JUncle 22.7.2007, 18:37 |
Как оказалось, это только в одном проекте. Если работаешь напрямую с JDBC, получить данные через одно соединение можно лишь однократно, после этого выкидывается исключение. Пришлось в конфиге, предварительно погуглив, выставить allowMultipleLastResources=true. После этого все работает, но выкидывается куча ворнингов, типа это костыли и лучше так не делать. Кто-нибудь может объяснить физику явления? И как выглядит штатный вариант? |
| Автор: JUncle 23.7.2007, 20:54 | ||
Код показать не могу. Трейсы тоже будут урезанные. |