使用Spring-boot和Spring-starter-amqp作为我的消息传递应用程序。我的问题场景是这样的:Spring RabbitMQ - Message Requeue limit
第一个问题:我想重发我的消息只有5次,然后消息应该从队列中发出,如果发生业务异常(这里我只关注业务异常)。
第二个问题:如果第一个用例是可能的,我们可以通过某种方式增加尝试次数。假设在第一次尝试时发生业务异常,它应该立即要求,但在第二次尝试中,应该在2分钟后然后4分钟,然后6分钟,然后8分钟,然后10分钟,如时间将根据尝试增加。
感谢
不想使用代理插件;我们可以使用自定义拦截器来做到这一点吗? – blackOcean
否;对于变量延迟,您将不得不使用延迟的消息交换插件或将消息自己发布到DLQ你可以使用带有messageProperties.setExpiration()的'RabbitTemplate.send(message)''参见[这里](https://www.rabbitmq.com/ttl.html) - Spring AMQP将映射到期 –
如果我使用RabbitTemplate.send(message)发送消息)和messageProperties.setExpiration()来延迟消息超时。我如何计算由于消费者的业务异常导致的失败尝试的次数 – blackOcean