对使用Spring AMQP发布的确认

时间:2015-04-21 22:17:10

标签: java rabbitmq spring-amqp

使用Spring AQMP时,是否有任何方式可以确认已发布的消息已发送给侦听器?我有一些队列,我设置x-message-ttl = 0,这意味着如果无法立即传递消息将被丢弃,但由于我在请求/回复场景中使用它,我希望能够中止请求并立即处理错误。

1 个答案:

答案 0 :(得分:2)

您可以使用mandatory flag发布消息。

  

如果设置了此标志,服务器将返回无法传递的消息   使用Return方法。如果此标志为零,则服务器将排队   消息,但不保证它将被消耗。

并设置a return callback,如果邮件处于无法路由状态,将会调用该文件。

另一种解决方案应该是使用与您的交易相关联的alternate exchange。缺点是您需要将队列绑定到此AE并使用消息来了解请求是否已失败。