开发者

Spring JMS 2-phase-commit in java SE

I am not running under Java EE.

I want to have an XA transaction using Spring to share a transaction between DB and JMS.

Does spring provide such a functionality or must I use an external transaction manager such as Atomikos?

I use currently the DataSourceTransactionManager for the DB, an开发者_运维问答d I see I can also use the JMSTransactionManager. Do they work together? Not clear from the documentation as JtaTransactionManager is mentioned.

Please advise.

Yair


Spring only provides a framework for transaction management, it as such doesn't provide any transaction manager. If you are running your application outside a Java EE container and you need a transaction between resources like a DB and JMS, you have to use an external TransactionManager like Atomikos or JOTM (Java Open Transaction Manager).

You might want to refer to http://www.javaworld.com/javaworld/jw-04-2007/jw-04-xa.html for more details on XA using Spring.


they are resource local, but Spring does support XA (see this post for explanation and example code) : http://blog.springsource.com/2011/08/15/configuring-spring-and-jta-without-full-java-ee/

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜