我有Springboot AMQP应用程序,其中我的排列已删除字母。无论如何,在投掷AmqpRejectAndDontRequeueException
我现在有这个
@RabbitListener(bindings = @QueueBinding(
value = @Queue(value = "core.queue",
durable = "true",
arguments = {
@Argument(name = "x-dead-letter-exchange", value = RabbitConfiguration.ERROR_EXCHANGE),
@Argument(name = "x-dead-letter-routing-key", value = RabbitConfiguration.ERROR_ROUTING_KEY)
}
),
exchange = @Exchange(value = "core.exchange"),
key = "core.route")
)
public void errorListener(final Message message) {
try {
.......
} catch (IOException e) {
// I would like to set value for x-first-death-reason or set
// custom header if possible.
throw new AmqpRejectAndDontRequeueException(e.getMessage());
}
}
no;AMQP协议不允许消费者修改被拒绝的消息。您必须自己发布到DLQ,而不是让RabbitMQ Route。