RabbitTemplate.send() 是否保证将消息传递到 RabbitMQ?
Does RabbitTemplate.send() guarantee the delivery of messages to RabbitMQ?
使用Spring AMQP,当调用方法rabbitTemplate.send(message)
returns(来自org.springframework.amqp.rabbit.core.RabbitTemplate class)时,我们可以确定消息已经在 RabbitMQ 集群上交付和复制了吗?
更新:这不是正确答案。请看@GaryRussell
的回答
如果你指的是发布者和 RabbitMQ 之间的唯一通信
好的。除了确保消息存储和复制是 RabbitMQ 工作的一部分之外,您无需执行任何其他操作。
请记得catchAmqpException
如果有什么问题发消息!
不,它没有。 AMQP 是一种异步协议。为了保证交付,您需要使用 Publisher Confirms and Returns - 即便如此,确认(或 return)也会在另一个线程上返回。
使用Spring AMQP,当调用方法rabbitTemplate.send(message)
returns(来自org.springframework.amqp.rabbit.core.RabbitTemplate class)时,我们可以确定消息已经在 RabbitMQ 集群上交付和复制了吗?
更新:这不是正确答案。请看@GaryRussell
的回答如果你指的是发布者和 RabbitMQ 之间的唯一通信 好的。除了确保消息存储和复制是 RabbitMQ 工作的一部分之外,您无需执行任何其他操作。
请记得catchAmqpException
如果有什么问题发消息!
不,它没有。 AMQP 是一种异步协议。为了保证交付,您需要使用 Publisher Confirms and Returns - 即便如此,确认(或 return)也会在另一个线程上返回。