ActiveMQを監視するには、いくつかの方法があります。
たとえば、Advisory-Messagesを使用できます。のような利用可能ないくつかの指標があります
ActiveMQ.Advisory.SlowConsumer.Queue
ActiveMQ.Advisory.FastProducer.Topic
等
JMX ごとの正確なキュー サイズを確認するには、
http://activemq.apache.org/how-do-i-find-the-size-of-a-queue.htmlを参照してください。
たとえば、私のコードスニペットに似たものを試してください:
JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://<server>:<port>/jmxrmi");
JMXConnector jmxConnector = JMXConnectorFactory.connect(url);
...
try
{
jmxConnector.connect();
MBeanServerConnection connection = jmxConnector.getMBeanServerConnection();
...
BrokerViewMBean brokerBean = MBeanServerInvocationHandler.newProxyInstance(connection, brokerBeanName, BrokerViewMBean.class, true);
System.out.println("Total message count:" + brokerBean.getTotalMessageCount());
...
}
...
QueueSize/TotalMessageCount を監視すると、それに対応できます。