我没有在Java EE下运行。
我希望使用Spring进行XA事务以共享DB和JMS之间的事务。
spring是否提供此类功能,还是必须使用Atomikos等外部事务管理器?
我目前使用DataSourceTransactionManager作为数据库,我看到我也可以使用JMSTransactionManager。他们一起工作吗?从文档中不清楚,提到了JtaTransactionManager。
请告知。
亚伊尔
答案 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/