我正在使用發佈者/訂閱者模型,在該模型中使用JMSTemplate將消息發佈到主題上。我使用defaultmessagelistenercontainer來訂閱和接收消息。Setsessiontransacted如何在JMSTemplate和DefaultMessageListenerContainer與Pub /子模型中工作
我知道我可以在兩個配置中設置sessionTransacted true。但如果我把
會發生什麼情況1)只有JMSTemplate setsessionTransacted爲true?
2)only messagelistenercontainer setsessiontransacted true?
3)JMSTemplate和messagelistenercontainer setsession的傳遞是否正確?
我只是想知道這三件事之間的區別,就消息被髮送給接收消息的主題和訂閱者以及執行所需的工作而言。我想要了解的核心問題是
會話持續了多長時間才能涵蓋這些內容?
消息被髮送到主題和訂戶接收到該消息並執行與它
所以從我所瞭解的jmsTemplate和DMLC事務是分開的。 – africandrogba
所以從我的理解,jmsTemplate和DMLC交易是分開的。因此,如果我的DMLC sessiontransaction設置爲true,則onMessage()方法中的所有代碼都將在事務中完成。如果我的onMessage()中發生異常,會發生什麼情況。信息是否會被我的聽衆重新發送,再次發生? – africandrogba
我正在使用一個主題不是隊列 – africandrogba