java SE 中的 Spring JMS 2 阶段提交
我没有在 Java EE 下运行。
我想要使用 Spring 进行 XA 事务以在 DB 和 JMS 之间共享事务。
spring 是否提供这样的功能或者我必须使用外部事务管理器(例如 Atomikos)?
我目前使用 DataSourceTransactionManager 作为数据库,我发现我也可以使用 JMSTransactionManager。他们一起工作吗?文档中并不清楚,因为提到了 JtaTransactionManager。
请指教。
亚尔
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Spring只提供了一个事务管理框架,它本身不提供任何事务管理器。如果您在 Java EE 容器外部运行应用程序,并且需要在 DB 和 JMS 等资源之间进行事务,则必须使用外部 TransactionManager,例如 Atomikos 或 JOTM(Java 开放事务管理器)。
您可能需要参考 http://www.javaworld .com/javaworld/jw-04-2007/jw-04-xa.html 了解有关使用 Spring 的 XA 的更多详细信息。
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.
它们是本地资源,但 Spring 确实支持 XA(请参阅这篇文章以获取解释和示例代码):http://blog.springsource.com/2011/08/15/configuring-spring-and-jta-without-full-java-ee/
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/