我有一个 java web 应用程序在 Spring 2.5.6、Hibernate 3.4(以 Hibernate 作为 JPA 提供程序)和 Tomcat 6 下运行。我让它使用一个数据库模式/持久性单元,但现在需要连接到 2 个模式/持久性单元。我可以在不迁移到 J2EE 容器(例如 JBoss 或 Glassfish)的情况下执行此操作吗?我需要使用 JOTM 和全局/XA 事务之类的东西吗?
如果您需要访问同一事务中的多个事务资源,则需要 JTA 以及 JTA 事务管理器。在 Spring 级别,这意味着使用JtaTransactionManager http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/transaction/jta/JtaTransactionManager.html而不是你的JpaTransactionManager http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/orm/jpa/JpaTransactionManager.html。如果您不想迁移到真正的 Java EE 应用服务器,那么您确实必须使用独立的事务管理器,例如 JOTM 或 Atomikos。我更喜欢后者,但就我个人而言,我会转向 GlassFish。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)