2015-10-06 95 views
0

我有一個for循環,可以將消息放入JMS隊列中,但很可能將來for循環的執行速度可能會比隊列處理請求的速度快,並且可能會達到最大值限制。什麼是處理JMS異常的最佳方式

我正在捕捉JMSException,但事情是我沒有任何備用邏輯來恢復作業。我的意思是我可以存儲傳遞到隊列中的最後一個元素的狀態,但是我不知道如何在遇到異常後將消息放回隊列。我如何開始將消息放回到隊列中確保相同的異常不會被拋出。

回答

0

您應該爲您的JMS隊列設置適合您的峯值負載的偵聽器池。這可以與您的應用程序服務器一起安排。

它也應該允許一個「死信隊列」,在那裏你所描述的方式有毒的信息將被路由。

這將是很好的配置某種改變,讓你知道請求溢出到地板上。

我不明白對隊列的迷戀了。我認爲帶有生產者/消費者出隊和執行者池來處理請求的Web服務是排隊的更好選擇。那是20世紀90年代IBM技術。

相關問題