RabbitMQ故障安全功能-超时时自动重新排队

f5emj3cl  于 2022-11-08  发布在  RabbitMQ
关注(0)|答案(1)|浏览(123)

我正在实现一些使用AMQP队列(特别是RabbitMQ)中的消息的API,这些API依赖于其他API来工作,因此它们在消息操作/处理过程中可能会失败。
我想使消息处理具有故障安全性:如果API以 * 任何 * 方式失败,我希望消息自动重新排队,这样我可以确保它至少会被处理一次(无论何时)。
是否有一个选项可以在RabbitMQ中实现故障安全功能,以便如果消息在n秒数内没有得到确认,它将自动请求并自动再次使用?
我知道,如果客户端不确认消息并断开连接,则在重新连接时会再次发送消息,但我的情况并非如此(或者更好的说,这代表了非常少量的失败情况),因为客户端总是在线的,但是在处理消息时可能会失败。safe可以在我的代码中实现,但我必须手动处理大量的异常,因此如果它在服务器端发送消息,那就太好了。
先谢谢你。

qybjjes1

qybjjes11#

没有这样的机制。强制关闭连接(在CachingConnectionFactory上调用resetConnection())将执行您想要的操作,但您的使用者将继续处理。

相关问题