0

假设我有一个 rabbitTemplate 实例,我调用 rabbitTemplate.send(Message)向 RabbitMQ 服务器发布消息。

我在这里要做的是: 1. 从发布者的角度来看,如何确保 RabbitMQ 接收到消息?2.在consumer端,我用同一个rabbitTemplate在一个线程中接收消息,想在另一个线程中手动ack消息。

有没有办法通过 RabbitTemplate 手动确认消息?

感谢您的任何帮助。

4

1 回答 1

3
  1. RabbitMQ 是异步的,因此无法“等待”消息在代理中得到保护;您可以启用发布者确认以确认消息已传递到队列。有关详细信息,请参阅文档

  2. 使用其中一种方法时,您无法手动确认消息receive*()execute()您必须使用该方法下拉到本机 API ;在回调中,执行 channel.basicGet(queue, false)接收消息,然后channel.basicAck(deliveryTag).

于 2014-07-03T13:01:13.303 回答