2015-08-27 22 views
0

我是RabbitMQ的noob。我開始使用它,它迄今爲止服務於我的目的。在我的設置中應該有大約10個消費者。我想知道如果消息殺死多個消費者/工作人員,我如何檢查並刪除該消息,因爲肯定我不希望我的所有工作人員由於消息損壞而失敗。任何意見,不勝感激,只是爲了更新我正在使用的Java如果一個RabbitMQ消息殺死多個工人,該怎麼辦?

回答

0

你需要在你的代碼中有一定程度的錯誤處理以捕獲所謂的「毒藥」消息 - 導致問題並且無法處理的消息。

要正確處理此問題,您需要爲您的隊列設置Dead Letter Exchange(「dlx」)。當您的代碼識別錯誤信息時,此交換將用於捕獲有毒信息。

在您的錯誤處理代碼中,當您收到毒害消息時,您會想要reject消息。這將告訴RabbitMQ通過dlx重新路由消息。

您的dlx應該有路由設置,根據此隊列中顯示的消息,將毒性消息發送到可向您發送警報的隊列。

+0

謝謝Derick您寶貴的建議。我將簡短介紹一下並更新你。 – Asad

相關問題