我正在寻找一个 ActiveMQ 代理管理命令,告诉它暂停一个队列——即:
- 继续接受来自生产客户的消息
- 停止交付给消费客户端,允许队列积压增长,直到队列恢复,然后将积压发送给客户端。
我找不到这样的命令。最常见的答案是它应该在客户端进行管理——也就是说,找到每个消费者并停止它。其他答案是变通方法,例如操纵网络路由或防火墙,使客户端和代理无法再通信。
对其他消息队列的粗略调查表明 ActiveMQ 在这方面并不罕见。
在我看来,这个功能可能无法实现有两个原因:
- 这很难实施——但我想不出任何原因。
- 与消息队列的设计理念背道而驰
它是哪一个,为什么?