似乎Hibernate事务缓存模式需要使用JTA事务管理器。在诸如Glassfish,Weblogic等应用服务器中,Spring可以使用JTA事务管理器。 Tomcat没有JTA事务管理器。
人们在这种情况下使用的是什么?或者人们只是不使用Tomcat的事务缓存模式?
答案 0 :(得分: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”
答案 1 :(得分:0)
Atomikos是一个JTA事务管理器,可以与您的应用捆绑在一起,以便在Tomcat部署中工作。