0

として登録されているJBossv4.2MBeanにアクセスしようとしています

jboss.web:type=Manager,path=/,host=localhost

次のコードを使用します。

ObjectName name = new ObjectName("jboss.web:type=Manager,path=/,host=localhost");
ManagementFactory.getPlatformMBeanServer().getAttribute(name, "activeSessions");

しかし、このコードは次の例外をスローし続けます。

javax.management.InstanceNotFoundException : jboss.web:type=Manager,path=/,host=localhost is not registered.

一方、... // localhost:8080 /jmx-console/を介してjmx-consoleを使用してこのBeanを表示および使用することができます-MBeanが使用可能です。

スクリーンショット

コードを介して同じMBeanにアクセスするには、他に何が必要ですか?

4

1 に答える 1

1

それを見つけた...

ObjectName name = new ObjectName("jboss.web:type=Manager,path=/,host=localhost");
this.sessions = new Long((Integer) MBeanServerLocator.locateJBoss().getAttribute(name, "activeSessions"));

私は正しいMBeanServerを見つけなければなりませんでした...MBeanServerLocator.locateJBoss()それを解決します。

于 2013-03-26T08:05:56.193 に答える