如何读取RabbitMQ未确认消息/RabbitMQ循环
我想读取RabbitMQ队列中未确认消息的有效负载或messageId。这可能吗 我之所以要这样做,是因为我试图使用RabbitMQ死信特性来构建一个周期,以便定期自动生成消息。 简单地说,创建两个队列—工作队列和延迟队列如何读取RabbitMQ未确认消息/RabbitMQ循环,rabbitmq,rabbitmqctl,Rabbitmq,Rabbitmqctl,我想读取RabbitMQ队列中未确认消息的有效负载或messageId。这可能吗 我之所以要这样做,是因为我试图使用RabbitMQ死信特性来构建一个周期,以便定期自动生成消息。 简单地说,创建两个队列—工作队列和延迟队列 将延迟队列中消息的TTL设置为需要定期发送的时间频率。针对不同的工作目的,可以使用不同的TTL发送不同的消息 将消息放入延迟队列。当消息过期时,它将重新发布到工作队列中。消息可以根据需要在工作队列中停留多长时间,直到消费者开始使用它为止 一个消费者拾取消息并进行处理。如果处理
channel.basicPublish(DELAY_EXCHANGE, "", null, message.getBytes());
channel.basicAck(delivery.getEnvelope().getDeliveryTag(), false);
为了防止出现上述情况,我想在上述两行之后添加一个看狗逻辑:
Roy无法从其他上下文中读取未确认的消息原始消息已被消费并保留为未确认。非常感谢您的回答。我对我原来的问题作了更详细的说明。你能看一下吗?又来了!当问题看起来像一个全新的问题时,改变这么多并不是一个好主意。至于每消息TTL,请注意,不管是每消息TTL,它们都将从队列中移出(如果设置了DLX,则会显示死信)只有当他们到达队列头的时候。另外,当很难预测多个消费者和发布者的行为时,消息计数的想法可能不起作用。只需构建重复流。为了进一步讨论,我建议在上问这个问题(先搜索类似的问题)。@Zaq178我正试图在本地主机上使用RabbitMQ,但遇到了困难,你能给我一些关于这方面的建议吗