如何检查 stopmit 中的 AMQ 队列中是否没有要使用的消息 node.js
How to check if there are no message to consume in AMQ queue in stopmit node.js
我正在使用 node.js 的 stompit 包连接到 AMQ 队列以订阅消息。我使用 ConnectFailover
class 创建连接并使用 channelPool
class 创建池。
我面临的问题是,一旦建立连接,如果队列中没有消息,它就会保持连接状态。
如果没有消息可从队列中读取,我需要一种断开连接的方法。我在 stompit documentation.
中没有看到任何选项
根据 this issue,STOMP 无法做到这一点。作为一般规则,像 AMQ 这样的代理很少允许消费者检查消息计数等队列属性。
除非你能以某种方式从你的 node.js 代码中 leverage JMX ,最简单的方法是创建一个带有 client.disconnect()
的计时器作为回调并等待适合的时间量你的系统。每当消息被消费时,重置计时器。
我正在使用 node.js 的 stompit 包连接到 AMQ 队列以订阅消息。我使用 ConnectFailover
class 创建连接并使用 channelPool
class 创建池。
我面临的问题是,一旦建立连接,如果队列中没有消息,它就会保持连接状态。
如果没有消息可从队列中读取,我需要一种断开连接的方法。我在 stompit documentation.
中没有看到任何选项根据 this issue,STOMP 无法做到这一点。作为一般规则,像 AMQ 这样的代理很少允许消费者检查消息计数等队列属性。
除非你能以某种方式从你的 node.js 代码中 leverage JMX ,最简单的方法是创建一个带有 client.disconnect()
的计时器作为回调并等待适合的时间量你的系统。每当消息被消费时,重置计时器。