代碼...JMS回滾有多可靠?
@Transactional
@JmsListener(destination = "QueueA")
public void process(String input) {
doSomethingWhichMayThrowException(input);
}
考慮以下情況:...
- 交易開始(使用Spring @Transactional註釋)從QueueA(隊列使用磁盤中讀取
- 持久性JMS消息作爲消息存儲)
- 磁盤已滿並且不接受任何寫入操作
- 發生異常且事務回滾
消息是否丟失?
如果不是那麼在事務(步驟2)下如何從隊列中讀取消息?
是否使用某種類型的隊列瀏覽器,因此消息是從隊列中讀取的但未消耗?
它是供應商的依賴,但通常它與從驅動程序到messagebroker確認。 –