Использование кэша транзакций Spring + Hibernate в Tomcat?

Похоже, что режим транзакционного кэша Hibernate требует использования диспетчера транзакций JTA. На сервере приложений, таком как Glassfish, Weblogic и т. д., Spring может использовать диспетчер транзакций JTA. Tomcat не имеет диспетчера транзакций JTA.

Есть ли тот, который люди используют в этом сценарии? Или люди просто не используют режим кэширования транзакций с Tomcat?


person Alex Miller    schedule 21.04.2009    source источник


Ответы (2)


Это зависит от вашей реализации ORM, например, для JPA Spring имеет диспетчер транзакций для использования внешних контейнеров Java EE. вот как вы это объявляете:

<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
    <property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>

Обычно я использую аннотации для разграничения границ транзакций (с помощью @Transaction), для этого вам просто нужно добавить в файл конфигурации еще одну строку:

<tx:annotation-driven transaction-manager="transactionManager" />

присутствует в этом пространстве имен XSD: "http://www.springframework.org/schema/tx "

person Pablo Fernandez    schedule 21.04.2009

Atomikos — это менеджер транзакций JTA, который можно связать с вашим приложением для работы в среде Tomcat.

person SteveT    schedule 12.12.2012