2015-08-27 20 views
0

我是RabbitMQ的noob。我开始使用它,它迄今为止服务于我的目的。在我的设置中应该有大约10个消费者。我想知道如果消息杀死多个消费者/工作人员,我如何检查并删除该消息,因为肯定我不希望我的所有工作人员由于消息损坏而失败。任何意见,不胜感激,只是为了更新我正在使用的Java如果一个RabbitMQ消息杀死多个工人,该怎么办?

回答

0

你需要在你的代码中有一定程度的错误处理以捕获所谓的“毒药”消息 - 导致问题并且无法处理的消息。

要正确处理此问题,您需要为您的队列设置Dead Letter Exchange(“dlx”)。当您的代码识别错误信息时,此交换将用于捕获有毒信息。

在您的错误处理代码中,当您收到毒害消息时,您会想要reject消息。这将告诉RabbitMQ通过dlx重新路由消息。

您的dlx应该有路由设置,根据此队列中显示的消息,将毒性消息发送到可向您发送警报的队列。

+0

谢谢Derick您宝贵的建议。我将简短介绍一下并更新你。 – Asad

相关问题