我在使用Apache Commons JMS組件時遇到了問題。如果我使用InOut交換模式將消息放入隊列並且JMS服務器關閉,則會收到java.net.ConnectException,並且每5000毫秒會發起一次恢復嘗試。我假設駱駝隱式創建一個消費者端點來偵聽replyTo隊列,所以我不確定是否可以禁用這個行爲。JMS組件 - ConnectException for InOut模式
有沒有辦法在這種情況下禁用恢復?
我在使用Apache Commons JMS組件時遇到了問題。如果我使用InOut交換模式將消息放入隊列並且JMS服務器關閉,則會收到java.net.ConnectException,並且每5000毫秒會發起一次恢復嘗試。我假設駱駝隱式創建一個消費者端點來偵聽replyTo隊列,所以我不確定是否可以禁用這個行爲。JMS組件 - ConnectException for InOut模式
有沒有辦法在這種情況下禁用恢復?
下面是駱駝groovy路線。希望它能解決你的問題。
from("jms:queue:TEST?disableReplyTo=true")
.setExchangePattern(ExchangePattern.InOut)
/*Do Processing*/
.inOnly("jms:queue:TEST")
因爲當前消息交換模式是InOut
的JMS組件期望的回覆消息。如果您想向JMS組件發送「即發即丟」消息,則需要先將MEP更改爲InOnly
。
實施例:
.to(ExchangePattern.InOnly, "activemq:somequeue")