【发布时间】:2016-02-16 12:19:25
【问题描述】:
在我的 Spring Boot 应用程序中,我有以下场景:
- 从 JMS 队列中读取消息
- 对数据做一些事情。
- 对 Oracle 数据库执行 JDBC 插入
如果在任何阶段发生异常,我想确保消息没有丢失并被放入 Backout Queue。
在启用 XA 的 JMS 连接工厂和启用 XA 的 Oracle 数据库驱动程序之间是否需要 XA 事务?或者使用 DefaultMessageListenerContainer 并将 sessionTransacted 标志设置为 true 就足够了吗?
如果第二个是正确的答案,那么使用 XA 事务的好情况是什么?
【问题讨论】:
标签: java spring transactions spring-jms xa