java - 如何在 Spring Boot 中发送并确认消息已传递到 RabbitMQ?

标签 java spring-boot rabbitmq

我有一个 Web 服务,可以处理请求并将消息发布到 RabbitMQ(在 Spring Boot 中编写)。 问题是,当没有连接时,我无法立即检测到它,并且我会丢失所有消息。我该如何处理这个问题? 30 秒后我收到 AMQP 连接错误。在那段时间里我无法处理这个问题。我想知道消息何时传递到 RabbitMQ。如果未发送,我需要存储所有消息,并且当rabbitmq启动时重新发送所有这些消息。顺便说一句,性能很重要。 我已阅读下面的文档。我认为可以通过 OperationsCallback 解决,但我不知道如何解决..

提前致谢

最佳答案

它比 java 或 spring 更具有rabbit MQ 功能,它允许发布的任何消息都被确认回发布者,请参阅下面的链接以获取有关如何操作的引用: https://www.rabbitmq.com/confirms.html

关于java - 如何在 Spring Boot 中发送并确认消息已传递到 RabbitMQ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58656935/

相关文章:

java - Rabbitmq java客户端消费者handleDelivery方法没有被调用

java - 如何按组处理所有已读项目,而不是一对一处理?

java - 是否应该使用异常将流程退回到主流程?

java - 我可以在不使用 MapReduce 的情况下使用 Java 访问 Hadoop 文件吗?

java - 验证用户电子邮件身份验证

java - 如何使用渐变。 Java 和 Groovy 在一起?

amazon-web-services - 为 nginx SSL 添加 .ebextensions 后,SpringBoot 部署失败 - [执行命令 [app-deploy] 时发生错误]

java - 如何使用 DiscriminatorValue 保存实体

c# - Rabbitmq消息到达时间戳

c# - RabbitMQ 持久队列不工作(RPC-Server,RPC-Client)