Как использовать поддержку JTA в Tomcat 6 для, в спящем режиме?

Они рекомендуют использовать поддержку транзакции JTA в Java среда EE.

Но как настроить JTA в Tomcat6 так, чтобы Были в спящем режиме, Сессия могла использовать его?

При запуске с версии 3.0.1 Будьте в спящем режиме, добавил SessionFactory.getCurrentSession() метод. Первоначально, это принятое использование транзакций JTA, где транзакция JTA, определенная и объем и контекст текущей сессии. Учитывая зрелость многочисленных автономных реализаций JTA TransactionManager, большинства, если не все, приложения должны использовать управление транзакциями JTA, развертываются ли они в контейнер J2EE. На основе этого основанные на JTA контекстные сессии - все, что необходимо использовать.

(Будьте в спящем режиме справочная документация | архитектура. Контекстные сессии)

22
задан naXa 21 March 2018 в 16:11
поделиться

2 ответа

Если вам нужна поддержка JTA в Tomcat, вам нужно использовать отдельный менеджер транзакций, например Atomikos, JOTM, Bitronix, SimpleJTA, JBossTS или GeronimoTM/Jencks. Но, честно говоря, если вы не собираетесь обрабатывать транзакции на нескольких ресурсах, то вы можете жить без JTA (а если вам действительно нужен JTA, используйте полноценный сервер приложений).

33
ответ дан 29 November 2019 в 04:51
поделиться

Если вы просто хотите использовать SessionFactory.getCurrentSession () , вы можете просто добавить следующие две строки в свой hibernate.cfg.xml :

<property name="transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
<property name="hibernate.current_session_context_class">thread</property>

Это даст вам уникальный сеанс для каждого потока. Поскольку запрос сервлета всегда обрабатывается в одном потоке (учитывая, что ваш код не порождает новые), сеанс будет существовать для всего запроса.

Не забудьте использовать фильтр, чтобы закрыть Сессию после запроса!

6
ответ дан 29 November 2019 в 04:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: