多个持久订户中的交易管理主题

时间:2013-02-14 07:12:06

标签: java jms publish-subscribe tibco jms-topic

我正在阅读关于Tibco MoM的JMS主题订阅者(并已实施示例)。这些是我所指的链接:Link1

但是,我不清楚如何通过多个订阅者管理交易。 我使用DefaultMessageListenerContainer作为容器和持久的订阅。

通常,当订户的onMessage完成时,将提交事务。 How does it happen over multiple subscribers?

现在,假设Subscriber1收到了消息并根据它处理了一个动作(该动作无法撤消)。后来Subscriber2活跃起来并试图处理此消息。出现问题,现在必须回滚事务 - 消息将被放回主题。

接下来,Subscriber1会再次看到消息吗?是否必须再次使用该消息?这是分布式交易的情况吗?提交何时发生?

1 个答案:

答案 0 :(得分:1)

每个订阅者在其自己的事务中接收其消息,并且成功提供事务提交,单个订阅者将不再看到该消息。在订阅者事务回滚时,该消息将仅重新传递给失败的订阅者(假设代理不限制重新传递)。