Spring AMQP-是否存在只等待确认的同步阻塞发送方法



我正在使用Spring AMQP v1.4.2,并试图找到一个发送方法,可能在RabbitTemplate中,该方法会阻塞线程,直到从服务器接收到确认,以确保我们不会丢失消息。

我看到了sendAndReceive()方法,但它以RPC样式等待回复消息,而我只想在通道上等待确认。我知道我可以使用setConfirmCallback()方法,但这意味着它不是同步的,当确认到达时,我可能会在另一个线程上结束,我将失去我的线程本地,即许多Spring好东西。

在春季AMQP中有实现这一目标的方法吗?

RabbitMQ通过使用异步发布获得了巨大的性能优势。正如您所说,您可以配置发布者确认以获得消息已传递到队列的异步确认。

如果你真的想阻止,你可以在RabbitTemplate上使用setChannelTransacted(true);则CCD_ 5将阻塞直到消息在队列中得到保护。

最新更新