2013-10-25 26 views
0

什麼被認爲是處理導致消息隊列中的異常的JMS消息的最佳方法?處理DLQ的

我所做的是爲特定隊列設置DLQ。我將重試處理消息5次,重試延遲時間爲30秒。如果郵件無法處理,可能是由於一些錯誤 - 我將郵件移至我的DLQ持久性數據包。 因此,這個想法是部署一個錯誤修復,然後將DLQ中的消息放回到隊列中。

這是做這件事的最好方法嗎?如果是這樣,我該如何「重新發布」DLQ中的消息?

回答

2

我認爲這是最好的方法。

主管應該檢查DLQ,修正錯誤並將其發送回主隊列。您可以使用jms QueueBrowser檢查隊列中的消息(包括消息文本,jms-id和...)。所以你應該編寫一個程序來列出DLQ中的所有消息。主管應該能夠處理消息文本,並將其發送回主隊列(從DLQ中刪除它:consume the message by jms-id,併產生固定消息到主隊列)

+1

此外..它真的取決於您的使用情況。在某些情況下,消息在一段時間後意味着什麼......所以,也許你應該刪除DLQ。 務必不要讓消息在DLQ上累積。使用它們或將DLQ地址設置爲頁面。 –