私が使用してmはコマンドラインJMXクライアントを ActiveMQのサーバを照会できるようにします。同時に、サーバーに動的に値を設定できるようにしたいと考えています。MemoryLimitなど。
コマンドラインJMXクライアントを介して値を設定することは可能ですか?「はい」の場合、どうすればメモリ制限を設定できますか?
これは、クエリを実行する方法でした。
java -jar cmdline-jmxclient-0.10.3.jar - localhost:1099 org.apache.activemq:BrokerName=defaultBroker,Destination=Testing,Type=Queue MemoryLimit
しかし、どうすればメモリ制限を設定できますか?
私は以下を試しました:
java -jar cmdline-jmxclient-0.10.3.jar - localhost:1099 org.apache.activemq:BrokerName=defaultBroker,Destination=Testing,Type=Queue setMemoryLimit=300000`
以下のように失敗しました。
11/18/2011 11:56:28 -0800 org.archive.jmx.Client setMemoryLimit = 300000:操作setMemoryLimitが見つかりません。
編集する
そのjmxclientをドロップして次のように切り替えることをお勧めします。
サポートされており、ドキュメントが充実しているようです。私はそれが機能し、セッターにアクセスできるようになると思います-存在する場合。
setメソッドが存在する場合、以下が機能するはずです。
java -jar cmdline-jmxclient-0.10.3.jar - localhost:1099 \
org.apache.activemq:BrokerName=defaultBroker,Destination=Testing,Type=Queue \
setMemoryLimit=...
ここにドキュメントがあります:
設定と取得に使用できる属性を見つけるには、jconsoleを使用します。Java6 + jconsoleを使用している場合は、情報を取得したいBeanをフィールドクリックします。ObjectName
コマンドラインで使用することが表示されます。次に、属性リストを開くと、属性の名前に対応するgetメソッドが必要です。値が青色の場合、対応するsetメソッドが存在するはずです。
たとえばjava.lang
、jconsoleでフォルダを開くと、をクリックできるはずClassLoading
です。それはあなたObjectName
が使用することを示していますjava.lang:type=ClassLoading
。次に、以下を実行して、使用可能なさまざまな属性と操作をリストできます。
java -jar cmdline-jmxclient-0.10.3.jar - localhost:1099 \
java.lang:type=ClassLoading
ゲッターとセッターが表示されます。Verbose
属性を取得する方法は次のとおりです。
java -jar cmdline-jmxclient-0.10.3.jar - localhost:1099 \
java.lang:type=ClassLoading Verbose
何らかの理由で、私のバージョンのcmdline-jmxclientはboolean
タイプの方法を知らないため、セッターとして表示されません。もしそうなら、あなたはできるはずです:
java -jar cmdline-jmxclient-0.10.3.jar - localhost:1099 \
java.lang:type=ClassLoading setVerbose=true
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加