我正在阅读关于Tibco MoM的JMS主题订阅者(并已实施示例)。这些是我所指的链接:Link1
但是,我不清楚如何通过多个订阅者管理交易。
我使用DefaultMessageListenerContainer
作为容器和持久的订阅。
通常,当订户的onMessage
完成时,将提交事务。 How does it happen over multiple subscribers?
现在,假设Subscriber1收到了消息并根据它处理了一个动作(该动作无法撤消)。后来Subscriber2活跃起来并试图处理此消息。出现问题,现在必须回滚事务 - 消息将被放回主题。
接下来,Subscriber1会再次看到消息吗?是否必须再次使用该消息?这是分布式交易的情况吗?提交何时发生?
答案 0 :(得分:1)
每个订阅者在其自己的事务中接收其消息,并且成功提供事务提交,单个订阅者将不再看到该消息。在订阅者事务回滚时,该消息将仅重新传递给失败的订阅者(假设代理不限制重新传递)。