2017-07-19 4 views
1

MBeanの登録JMXの情報を取得します。最初のプログラムは、単純なMBeanの作成し、MBeanサーバーに登録します。第2のプログラムは、登録されたmbeanの情報を検索する。私は両方のプログラムのためにサーバーを作成するには、以下のコードを使用するMBeanの登録および取得するには:私は私の2番目のプログラムを実行すると私は2つの単純なJavaプログラムを書くためにEclipseを使用しています

MBeanServer mbs = ManagementFactory.getPlatformMBeanServer(); 

をそれが作成されたMBeanとリターン偽以下の2行を表示されません。

ObjectName mbeanName = new ObjectName("HelloAgent:name=helloWorld1"); 
mbs.isRegistered(mbeanName); 

しかし、私はそれを見ることができ、JConsoleを使用してアクセスできます。 は、私が何かを逃したことがありますか? ありがとうございました! jconsoleをsnapshot1 jconsole snapshot 1 jconsoleをスナップショット2 jconsole snapshot 2

答えて

2

あなたは、彼らの両方が異なるMBeanサーバーを有し、異なるJVMで実行されている意味二つの異なるJavaプログラムを実行していることを述べたように。

mbs.isRegistered(mbeanName); 

上記のメソッドは、MBeanが現在のJavaプロセスのMBeanサーバーに登録されているかどうかをチェックします。 MBeanサーバに別のJavaプログラムを問い合わせることはできません。

は、別のJavaプログラムからのMBeanにアクセスするには、RMIを使用して(あなたが管理するMBeanを含む)、あなたの最初のJavaプログラムを照会するクライアントを作成する必要があります。

あなたが実際にJMX monitoring using MBenas work方法を理解するために役立つ、このチュートリアルを見つけることができます。

関連する問題