Spring-AMQP-RetryTemplate不重试消息

时间:2018-12-26 16:12:58

标签: rabbitmq spring-amqp spring-rabbitmq

我正在尝试使用:

RetryTemplate rt = new RetryTemplate();
SimpleRetryPolicy rp = new SimpleRetryPolicy();
rp.setMaxAttempts(2);
rt.setRetryPolicy(rp);
ExponentialBackOffPolicy ebop = new ExponentialBackOffPolicy();
rt.setBackOffPolicy(ebop);
rabbitTemplate.setRetryTemplate(rt);

我在Spring Documentation找到了这个。但是,我认为我的信息没有被重试。如果我有factory.setDefaultRequeueRejected(true);我的讯息会无限期重试。如果我有factory.setDefaultRequeueRejected(false);我的消息仅尝试1次,然后发送到dlq。对我可能会缺少的东西有什么想法吗?您是否需要其他信息来帮助回答问题?

更新1: 我认为我真正的问题是我试图自动重试在处理过程中遇到异常的消息。因此,我真正的问题应该是如何重试在处理过程中遇到异常的消息。在阅读了文档的更多内容之后,我认为我需要编写一个自定义的异常处理程序。如果有更好的方法,请告诉我。

预先感谢, 布莱恩

0 个答案:

没有答案