2016-04-11 18 views
1

activeMQを実行しているリモートホスト上でテストを実行する必要があります。キューの名前がローカルファイルと比較して正しい名前かどうかを確認したいのですが、私はbstatを使ってactiveMQのステータスを取得し、destionNameを持つ部分をgrepしましたが、コマンドラインまたはシェルではなくjavaを使用するより良い方法があるかどうか疑問に思っていましたか?コマンドラインからactiveMQキュー名を取得する方法は?

ありがとうございます!

答えて

2

コマンドラインツール "a"を使用できます。

a -b tcp://remote-broker-hostname:61616 --list-queues

これは、Javaで書かれています

Queues: 
Queue4 
DELAYED 
ChatMessages 
Operation completed in 22ms (excluding connect) 

を印刷します。

免責事項:私はそのツールの著者です。

0

私はこのツールjmxtermを使用してActiveMQキューの統計情報を取得します& bashスクリプトからキューのコンシューマを確認します。

次のコマンドは、キュー「MYQUEUE」

open service:jmx:rmi://localhost:44444/jndi/rmi://localhost:1099/karaf-root -u user -p password 
get -s -d org.apache.activemq -b BrokerName=default,Destination=MyQueue,Type=Queue QueueSize EnqueueCount DequeueCount ConsumerCount 
0

のいくつかの統計が-QQueueと-view引数付きActiveMQのクエリコマンドの仕事をしてみ取得するローカルホスト上のruuning AMQに接続します。

#apache-activemq-5.10/bin/activemq query -QQueue=* --view Name | grep Name 

Name = test.queue 
Name = notification-q 

また、引数 "--jmxurl"に適切な値を渡して、リモートActiveMQサーバーと通信することができます。

関連する問題