我希望在一个messageId队列中读取未确认消息的有效负载或RabbitMQ。这个是可能的吗?
我想这么做的原因是我试图使用RabbitMQ死信特性定期为自动生成消息构建一个循环。简单地说,创建两个队列--工作队列和延迟队列。
我希望确保循环中没有丢失或重复消息,因为我不希望同时丢失作业或双倍执行任务。然而,复制消息的可能性很小。下面显示使用者首先将消息写回延迟队列,并确认工作队列。如果线程在两行以下崩溃,消息将出现在延迟队列中,而兔子将再次将消息重新发布到工作队列中。最后在循环中出现重复的消息。
channel.basicPublish(DELAY_EXCHANGE, "", null, message.getBytes());
channel.basicAck(delivery.getEnvelope().getDeliveryTag(), false);为了防止出现上述情况,我想在以上两行之后添加一个观察狗的逻辑:
非常感谢您提前!
罗伊
发布于 2014-11-11 09:03:49
不可能从其他上下文中读取未确认的消息--原始消息被消耗,并且保存为非身份消息。
https://stackoverflow.com/questions/26857845
复制相似问题