我有一个在Spring 2.5.6,Hibernate 3.4(使用Hibernate作为JPA提供程序)和Tomcat 6下运行的Java Web应用程序。我使其与一个DB模式/持久性单元一起工作,但现在需要连接到2个模式/持久性单元。 。我可以在不移动到JBoss或Glassfish之类的J2EE容器的情况下执行此操作吗?我是否需要使用JOTM和全局/ XA事务之类的工具?
如果需要访问同一事务中的多个事务资源,则需要JTA,因此需要JTA事务管理器。在spring级别,这意味着JtaTransactionManager您将使用而不是JpaTransactionManager。而且,如果您不想迁移到真正的Java EE应用服务器,则实际上必须使用独立的事务管理器,例如JOTM或Atomikos。我更喜欢后者,但就我个人而言,我将只选择GlassFish。
JtaTransactionManager
JpaTransactionManager