activeMQを実行しているリモートホスト上でテストを実行する必要があります。キューの名前がローカルファイルと比較して正しい名前かどうかを確認したいのですが、私はbstatを使ってactiveMQのステータスを取得し、destionNameを持つ部分をgrepしましたが、コマンドラインまたはシェルではなくjavaを使用するより良い方法があるかどうか疑問に思っていましたか?コマンドラインからactiveMQキュー名を取得する方法は?
ありがとうございます!
activeMQを実行しているリモートホスト上でテストを実行する必要があります。キューの名前がローカルファイルと比較して正しい名前かどうかを確認したいのですが、私はbstatを使ってactiveMQのステータスを取得し、destionNameを持つ部分をgrepしましたが、コマンドラインまたはシェルではなくjavaを使用するより良い方法があるかどうか疑問に思っていましたか?コマンドラインからactiveMQキュー名を取得する方法は?
ありがとうございます!
コマンドラインツール "a"を使用できます。
a -b tcp://remote-broker-hostname:61616 --list-queues
これは、Javaで書かれています
Queues:
Queue4
DELAYED
ChatMessages
Operation completed in 22ms (excluding connect)
を印刷します。
免責事項:私はそのツールの著者です。
私はこのツール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
のいくつかの統計が-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サーバーと通信することができます。