春回AMQP回调VS重试回调(Spring AMQP return callback vs retr

2019-10-22 23:02发布

我要让我的应用程序弹性,以将消息发送到RabbitMQ的时候,可以发生连接问题。 我想,所有未发送邮件的保持,存储它们,并将它们发送后,当RabbitMQ的变为可用。

看着官方文档,我没搞清楚什么是回报回调并重新回调的区别。 我明白,当重试的模板尾气配置的策略是重试调用回调函数,但没有找到这么多有用的,因为上下文不包含消息本身。 在此基础上在ReturnCallback接口之一的“returnedMessage”的方法可以轻松地确定进一步的行为,但通过调用该回调的时候还没有想出“replyCode”。

走一条路是ConfirmCallback但具有同步CorrelationData和信息,以及这些信息的状态保持附加逻辑的问题。

所以......除了ConfirmCallback接口是有跟踪消息未成功通过使用Spring AMQP的RabbitMQ发送的任何更简单的方法?

Answer 1:

回报是当经纪人返回的消息,因为它是无法投递(在交易所没有匹配的绑定该消息公布后,并强制位设置)。

确认是当经纪人发送ACK返回给发布者,指示消息已成功路由。

重试是经纪人的境界,所以可能你需要什么,你的使用情况之外。



文章来源: Spring AMQP return callback vs retry callback