java SE中的Spring JMS 2阶段提交

时间:2011-09-18 12:32:20

标签: spring jms 2phase-commit

我没有在Java EE下运行。

我希望使用Spring进行XA事务以共享DB和JMS之间的事务。

spring是否提供此类功能,还是必须使用Atomikos等外部事务管理器?

我目前使用DataSourceTransactionManager作为数据库,我看到我也可以使用JMSTransactionManager。他们一起工作吗?从文档中不清楚,提到了JtaTransactionManager。

请告知。

亚伊尔

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

它们是资源本地的,但Spring确实支持XA(有关解释示例代码,请参阅此帖子):http://blog.springsource.com/2011/08/15/configuring-spring-and-jta-without-full-java-ee/