【问题标题】:Spring JMS 2-phase-commit in java SEjava SE中的Spring JMS 2阶段提交
【发布时间】:2011-09-18 12:32:19
【问题描述】:

我没有在 Java EE 下运行。

我想要一个使用 Spring 的 XA 事务在 DB 和 JMS 之间共享一个事务。

spring 是否提供这样的功能,还是我必须使用外部事务管理器,例如 Atomikos?

我目前使用 DB 的 DataSourceTransactionManager,我发现我也可以使用 JMSTransactionManager。他们一起工作吗?从文档中不清楚,因为提到了 JtaTransactionManager。

请指教。

亚尔

【问题讨论】:

    标签: spring jms 2phase-commit


    【解决方案1】:

    Spring 只提供了一个事务管理框架,因此它不提供任何事务管理器。如果您在 Java EE 容器之外运行应用程序,并且需要在 DB 和 JMS 等资源之间进行事务处理,则必须使用 Atomikos 或 JOTM(Java 开放事务管理器)等外部事务管理器。

    您可能需要参考http://www.javaworld.com/javaworld/jw-04-2007/jw-04-xa.html 以了解有关使用 Spring 的 XA 的更多详细信息。

    【讨论】:

      【解决方案2】:

      它们是资源本地的,但 Spring 确实支持 XA(请参阅这篇文章以了解示例代码):http://blog.springsource.com/2011/08/15/configuring-spring-and-jta-without-full-java-ee/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-07-20
        • 2021-10-08
        • 2013-12-07
        • 1970-01-01
        • 2011-11-15
        • 2012-06-27
        相关资源
        最近更新 更多