gpt4 book ai didi

java - 如何拒绝消息

转载 作者:行者123 更新时间:2023-11-29 05:36:46 25 4
gpt4 key购买 nike

我正在使用 ActiveMQ 实现客户端/工作系统,我想实现手动消息确认和消息拒绝。

为什么拒绝消息?如果某个工作人员有太多任务要处理,我希望该工作人员告诉代理重新排队原始消息。

我知道有一些方法可以自动确认或执行交易,但我更愿意这样:

  1. 消息需要在 5 秒内得到确认
  2. 如果他们没有被确认,代理会将消息发送给不同的 worker
  3. Works 可以随时手动拒绝消息

我怎样才能实现这个(而不仅仅是手动将消息重新发送给代理)

更新:

稍微改一下问题:我如何确保未确认的消息被重新添加回队列(并且重新传送可以返回到之前甚至没有确认它的同一个消费者 - 假设消费者离线然后回来)

最佳答案

关于队列的 ActiveMQ 网页:

If a consumer receives a message and does not acknowledge it before closing then the message will be redelivered to another consumer.

这就是你想要的,对吧?因此,您必须关闭 AUTO_ACKNOWLEDGEMENT 模式并使用另一种模式:CLIENT_ACKNOWLEDGE 或可能更具选择性的 INDIVIDUAL_ACKNOWLEDGE。

拒绝消息(目前)是不可能的,参见 ActiveMQ-Docu :

There is no JMS 'unacknowledge'.

关于java - 如何拒绝消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19259224/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com