使用 Fuse ESB、JMS 和 JDBC 是否可以支持以下场景?
从一个编排组件我希望能够:
- 开始交易
- 向远程队列发送消息并让其参与此事务
- 使用同一事务中的 JDBC 连接让远程队列上的消息处理程序参与此事务
- 同步返回到编排组件,然后在另一个远程队列和消息处理程序上执行相同操作
- 再次同步返回并提交两个 JDBC 事务或回滚它们。
我猜这只能使用同步队列并且需要 XA 事务,但我真的不确定在原始事务中登记队列和 jdbc 连接的机制。
使用 Fuse ESB、JMS 和 JDBC 是否可以支持以下场景?
从一个编排组件我希望能够:
我猜这只能使用同步队列并且需要 XA 事务,但我真的不确定在原始事务中登记队列和 jdbc 连接的机制。
这是可能的,但你可能会陷入一个受伤的世界:)
我应该说理论上可以使用Java Transaction Service。这与您的标准 JTA 事务管理器有点不同,它使用IIOP将事务上下文传播到远程参与者。
看看JBossJTS。设置和合理的文档记录并不难。
但是对于您概述的内容,我强烈建议您寻找更好的方法来做到这一点。这将是复杂的,您几乎肯定会努力让供应商(即资源管理器)与事务管理器以及彼此之间表现得很好。