我想实现一条消息只能在60秒内被消耗。这样我有两个队列:
获取消费但从不直接发布。
发布但从不消费。
论据:
问题:为什么过期的消息不在死信交换中重新发布?
死信交换是一种交换,您需要使用合适的策略将工作队列绑定到DLX,以便将死信消息放在工作队列中。
我正在尝试设置我的第一个RabbitMQ死信交换,下面是我通过web管理界面使用的步骤: 创建名称为“dead.letter.test”的新直接交换 创建新队列“dead.letter.queue” 将“dead.letter.queue”绑定到“dead.letter.test” 创建新队列“test1”,并将死信交换设置为“dead.letter.test” 将消息发送到“test1” NAC
我们已经实现了延迟消息处理,有2个队列和x-死信-交换/x-消息-ttl,在queue1中的消息超时后,它将转到queue2。 现在是否有可能设置RabbitMQ,以便如果在处理来自queue2的消息时,我们将其拒绝为“死信”,那么它将自动转到queue3?我担心的是queue2中的消息已经标记为“已死”,有没有办法区分那些因为被拒绝而死的消息,并自动只将那些放在队列3中?
我有一个服务员线程想使用RabbitMQ direct exchange向Java中的客户线程发送一道寿司,但是我的客户没有收到这道菜。下面是我的服务员用来发布寿司菜肴对象的方法: 请注意,<code>dishKey</code>作为参数传递,并在之前的if-else语句中被确定为<code>的“tamagoDishKey”</code>或<code>“ebiDishKey”的 以下是我的客户用来
这种需求类似于通过公开的REST服务API(Spring Boot)处理来自死信队列的消息。以便一旦调用REST服务,就会从DL队列中消耗一条消息,并将再次发布到主队列中进行处理。@RabbitListener(queues=“queue_name”)立即使用消息,这在场景中是不需要的。该消息只需由REST服务API使用。有什么建议或解决办法吗?
问题内容: 我想在一段时间后在我的一个工人中收到一条消息。在发现了所谓的死信交换之后,我决定使用Node和RabbitMQ。 该消息似乎已发送到DeadExchange中的队列,但是使用方在WorkExchange中的WorkQueue中经过了一段时间之后,使用者再也没有收到该消息。要么bindQueue关闭,要么死信不起作用? 我现在尝试 了很多 不同的值。有人可以指出我所缺少的吗? 我正在使用
就像“休斯顿我们这里有一个问题”,在第一次尝试处理事件失败后,我需要安排/延迟消息5分钟。我已经在这个场景中实现了死信交换。 失败的消息会路由到DLX-->Retry队列,并在TTL 5分钟后返回工作队列进行另一次尝试。 下面是我正在使用的配置: producer.java: consumer.java:
我们正在使用Rabbitmq-server_3.5.7及其相应的延迟消息交换插件 到目前为止,我们一直在使用直接交换并控制客户端应用程序上的消息生成器的延迟(并跟踪当前队列中的消息数量)。 我们已经开始成功使用延迟交换,但我们想知道如何检查当前延迟的消息数量(这是等待路由到队列)。 兔子是否提供了一种知道这一点的方法?是否有任何其他方法可以访问此信息? 谢啦!
我有一个使用RabbitMQ构建的发布-订阅场景。有一个交换,其中消息由发布者发送,订阅该交换的任何使用者在其各自的队列中接收这些消息。这是一个扇出场景,其中有一个生产者,但有多个消费者。 现在我愿意在系统中集成一个死信队列,以便稍后处理被拒绝的消息。我的问题是 1)我应该为每个使用者配置一个单独的死信队列,还是应该有一个单独的死信队列来处理来自所有使用者的所有被拒绝的消息? 2)如果两者都有可能