Setsessiontransacted如何使用Pub / sub模型

时间:2017-09-19 16:51:28

标签: java publish-subscribe spring-jms jmstemplate message-listener

我正在使用发布者/订阅者模型,我使用JMSTemplate将消息发布到主题上。我使用defaultmessagelistenercontainer来订阅和接收消息。

我知道我可以在两个配置中设置sessionTransacted为true。但如果我把

发生什么呢

1)只有JMSTemplate setsessionTransacted为真?

2)只有messagelistenercontainer setsessiontransacted为true?

3)JMSTemplate和messagelistenercontainer setsessiontransacted都是真的吗?

我只是想知道这三件事之间的区别在于发送给主题的消息和接收消息的订阅者以及用它执行所需的工作。我试图理解的核心问题是

会议在讨论这些事情时会持续多长时间?

消息被发送给接收消息并使用它执行所需工作的主题和订阅者

1 个答案:

答案 0 :(得分:0)

交易是分开的。在提交发送之前,消费者不会收到消息。

如果您使用某个消息并在同一个线程上发送另一个消息,并且两个都是事务处理,那么它们都将在同一个tranaaction中运行。