我有一个正在监听 ActiveMQ 队列的 Spring Boot 应用程序。
有没有办法告诉 ActiveMQ 保留已使用的消息,直到收到从我的服务中删除消息的确认?
我的场景是我从队列中读取消息,一旦使用,我将其发送到外部队列。如果外部服务无法处理该消息,我就会丢失该消息。我是否可以告诉 Activity mq 保留已使用的消息,直到收到删除确认为止。
最佳答案
最安全的选择是使用 XA 事务以原子方式执行消费/发送(假设您发送消息的代理支持 XA)。我不确定这在 Spring 中有多容易或多困难,但我知道它在 Java EE 容器中非常简单。
关于java - ActiveMQ - 保留消耗的消息直到确认删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49261128/