@RabbitListener(queues="XYZ")
public void rabbitMsgReceiver(@Payload final UserProfile up, Message msg, Channel channel) {
}
如果收到的消息不是 UserProfile
的有效 JSON,则会发生 ListenerExecutionFailedException
,消息将发送至
取消确认状态。如何将消息发送到死信队列?
最佳答案
您可以配置死信队列策略,以便将未确认的消息发送到 dlq,而不是将它们放入原始队列
https://www.rabbitmq.com/dlx.html#using-policies
以您的队列 XYZ 为例,假设您为其设置了 XYZ-dlq :
sudo rabbitmqctl set_policy XYZ-dlq "^XYZ$" '{"dead-letter-exchange":"", "dead-letter-routing-key":"XYZ-dlq"}' --apply-to queues
关于java - Spring Boot/RabbitMQ 避免 unack 消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53521838/