带有 C# 和 Apache NMS 的 ActiveMQ - 计算队列的消费者

ActiveMQ with C# and Apache NMS - Count consumers for a queue

我正在尝试使用 C# 为 ActiveMQ 编写监控解决方案。作为其中的一部分,我需要监视队列中待处理消息的数量以及该队列的活跃消费者数量。你能帮我如何获得队列的消费者数量吗?我可以使用 this answer

来计算未决消息的数量

对于管理解决方案,我会使用 JMX 管理 API。使用 JVM 语言,您可以连接到可以告诉您这些指标的 ActiveMQ JMX。对于 C#,您想使用 jolokia,它是 "JMX to HTTP brigde".

例如: http://example.org:8161/api/jolokia/read/org.apache.activemq:type=Broker,brokerName=localhost,destinationType=Queue,destinationName=MyQueueName

会给你一个 JSON 响应,其中包括 ConsumerCount、EnqueueCount 和 DequeueCount。