Затянувшиеся сеансы Hibernate без транзакций в JBoss - PullRequest
1 голос
/ 02 декабря 2009

Я столкнулся с проблемой гибернации, которую просто не могу найти. Мы запускаем Hibernate 3.2.6 на JBoss 4.2.0 в приложении Spring 2.5.4 за JBossWS 2.0.1 (просто чтобы получить все версии в таблице).

Обычно это работает просто отлично, но иногда система самопроизвольно (т. Е. По какой-то причине в настоящее время нам не известна) переходит в состояние, когда некоторые запросы не выполняются при первом вызове Hibernate, с сообщением «org.hibernate.HibernateException: текущая транзакция не выполняется ». Это влияет на случайные запросы до перезапуска сервера. Я не могу воспроизвести это и в настоящее время "реагирую" на то, когда это происходит (пока только в тестовых средах.

Мне удалось вызвать такое же поведение, когда истекает время ожидания транзакции JBoss и код сервера переходит к вызовам Hibernate, но никогда без предшествующих журналов координатора Arjuna об отмене действия и никогда не повторялось при последующих вызовах.

Сверху головы я подозреваю, что «состояние» потока каким-то образом сохраняется из предыдущего вызова, и когда этот поток затем повторно используется для другого запроса, это не приводит к запуску транзакции. У меня есть практические знания о Hibernate, но не намного, но поскольку транзакции и сеансы работают иначе, это то, что я придумал.

Можете ли вы дать мне какие-либо указания на исследования и / или конфигурации, которые мне следует изучить?

1 Ответ

1 голос
/ 02 февраля 2011

На самом деле это была ошибка Hibernate, которая при определенных условиях оставляла сеансы позади! Обновление до Hibernate 3.3 решило проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...