0
我一直收到來自隊列1的所有JMS消息並試圖對其進行處理。
如果我嘗試處理5次並回滾5次,我希望ActiveMQ在一段時間(例如5分鐘)內將消息放入不同的隊列。
我該如何做到這一點?從死信隊列中恢復
我一直收到來自隊列1的所有JMS消息並試圖對其進行處理。
如果我嘗試處理5次並回滾5次,我希望ActiveMQ在一段時間(例如5分鐘)內將消息放入不同的隊列。
我該如何做到這一點?從死信隊列中恢復
您可以將自定義屬性添加到消息中 - 如RESUBMIT_TIMES,並將其增加,直到達到5。閱讀:JMS
如果達到5,則將其移動到5分鐘隊列,方法是設置另一個具有當前時間戳的屬性。例如:
message.setStringProperty("TimeOfDispatch", LocalDate.now().toString("yyyy-MM-dd hh:MM:ss"));
對5minutesqueue是檢查如果在5分鐘之後(通過檢查目前的時間從標題的時間)又一個消費
感謝尤金。它看起來像我需要從客戶端處理它,但問題是如果我可以處理移動消息的JMSXDeliveryCount == 5從隊列1到Queue2達5分鐘(之後移回Queue1)在側面ActiveMQ的。可能嗎? – surlac 2013-04-23 10:04:37
@surlac我不知道,但說實話,我不認爲他們有這樣的事情。它取決於你的編碼 – Eugene 2013-04-23 10:12:35
ActiveMQ有[「deadLetterStrategy」](http://activemq.apache.org/message-redelivery-and-dlq-handling.html)配置,它非常接近我所需要的,但不完全匹配。 – surlac 2013-04-23 12:15:36