Javaを使用してActiveMQのキュー長(キューに送信された未使用メッセージ数)を取得する方法は?ActiveMQのキュー長を取得する簡単な方法はありますか?
答えて
JMXを使用する必要があります。これは、キューインターフェイスがそのような情報を提供しないためです。
特定のキューのサイズを取得する例:
// connection
String url = "service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi";
JMXConnector connector = JMXConnectorFactory.connect(new JMXServiceURL(url));
MBeanServerConnection connection = connector.getMBeanServerConnection();
// get queue size
ObjectName nameConsumers = new ObjectName("org.apache.activemq:type=Broker,brokerName=localhost,destinationType=Queue,destinationName=myqueue");
DestinationViewMBean mbView = MBeanServerInvocationHandler.newProxyInstance(connection, nameConsumers, DestinationViewMBean.class, true);
long queueSize = mbView.getQueueSize();
ヒントはありがたいですが、次のObjectNameを使用しました: "org.apache.activemq:BrokerName = localhost、Type = Queue、Destination = queueName "およびQueueViewMBeanクラスを使用してqueueViewMBeanを取得します。一般的には、アプローチは同じ –
。
QueueBrowser browser = session.createBrowser(queue);
Enumeration enu = browser.getEnumeration();
List list = new ArrayList();
while (enu.hasMoreElements()) {
TextMessage message = (TextMessage) enu.nextElement();
list.add(message.getText());
}
System.out.println("Size " + list.size());
NBでした。maxPageSizeとmemoryLimitを増やさない限り、最大400メッセージしかブラウズしません。http://betterlogic.com/roger/2012/06/activemq-browse-all-messages – rogerdpack
消費者のすべてのブローカーメッセージは単純にそれを数えますか? – deFreitas
- 1. コマンドラインからactiveMQキュー名を取得する方法は?
- 2. Javaオブジェクトのサイズを取得する簡単な方法はありますか?
- 3. 日付を取得する簡単な方法はありますか?
- 4. ユーザーの国コードを簡単に取得する方法はありますか?
- 5. Google Financeデータを簡単に取得する方法はありますか?
- 6. ActiveMQはキューからすべてのメッセージを取得します
- 7. コードを書くことなくsqldatasourceの行数を取得する簡単な方法はありますか?
- 8. フレックスプリローダーを隠す簡単な方法はありますか?
- 9. "elseif marathon"より簡単な方法はありますか?
- 10. PHPのSQLタイムスタンプからUNIXのタイムスタンプを取得する簡単な方法はありますか?
- 11. Readlineに代わる簡単な方法はありますか?
- 12. GrailsのリモートサーバからJSONデータセットを取得する簡単な方法はありますか?
- 13. BJ concurencyを扱う簡単な方法はありますか?
- 14. 属性のフロントエンド値を取得する簡単な方法はありますか?
- 15. マウスの下にあるコントロールを簡単に取得する方法はありますか?
- 16. nook簡単なタッチのデバイスIDを取得する方法は?
- 17. rpy2で異なる長さのデータフレームを作る簡単な方法はありますか?
- 18. (Eclipseを使用して)JavaでJavaScript出力を取得する簡単な方法はありますか?
- 19. CObListを簡単にソートする方法はありますか?
- 20. QProgressBarを簡単にカスタマイズする方法はありますか?
- 21. 指定されたパスに基づいてfolderIDを取得する簡単な方法はありますか?
- 22. ブラウザとOSだけを取得する簡単な方法はありますか?
- 23. gamemakerでUtc時間を取得する簡単な方法はありますか?
- 24. Javaでデータベースメタデータを取得する最も簡単な方法は?
- 25. NSArrayを後方に反復する簡単な方法はありますか?
- 26. DataTableでListViewを簡単に取り込む方法はありますか?
- 27. には、pycurl/curlのhttpリクエストの送信ヘッダを簡単に取得する方法はありますか?
- 28. WebSphereに簡単にデプロイする方法はありますか?
- 29. Markdownを簡単なHTML文書に変換する簡単な方法はありますか?
- 30. ノードの子を照会する簡単な方法はありますか?
キューインターフェイスではこのような情報が提供されないため、JMXを使用する必要があります。参照:[ActiveMQ JMX](http://activemq.apache.org/jmx.html)、[必須MBean](http://activemq.apache.org/jmx-support.html)例:[JMXでActiveMQを管理する] API](http://www.consulting-notes.com/2010/08/monitoring-and-managing-activemq-with.html) – Dag