使用Spring AQMP时,是否有任何方式可以确认已发布的消息已发送给侦听器?我有一些队列,我设置x-message-ttl = 0
,这意味着如果无法立即传递消息将被丢弃,但由于我在请求/回复场景中使用它,我希望能够中止请求并立即处理错误。
答案 0 :(得分:2)
您可以使用mandatory
flag发布消息。
如果设置了此标志,服务器将返回无法传递的消息 使用Return方法。如果此标志为零,则服务器将排队 消息,但不保证它将被消耗。
并设置a return callback,如果邮件处于无法路由状态,将会调用该文件。
另一种解决方案应该是使用与您的交易相关联的alternate exchange。缺点是您需要将队列绑定到此AE并使用消息来了解请求是否已失败。