Я пытаюсь контролировать объекты своего приложения через JMX в JConsole. Но в JConsole я не могу видеть несколько объектов одного класса. Вот мой код:Монитор нескольких объектов через JConsole
ApplicationCache cache1 = new ApplicationCache();
MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
ObjectName name = new ObjectName("org.javalobby.tnt.jmx:type=ApplicationCacheMBean1");
mbs.registerMBean(cache1, name);
imitateActivity(cache1);
ApplicationCache cache2 = new ApplicationCache();
mbs = ManagementFactory.getPlatformMBeanServer();
ObjectName name2 = new ObjectName("org.javalobby.tnt.jmx:type=ApplicationCacheMBean2");
mbs.registerMBean(cache2, name2);
imitateActivity(cache2);
В JConsole UI я могу видеть информацию о только ApplicationCacheMBean1
. О пользователе ApplicationCacheMBean2
нет. Пожалуйста помоги.
Вы уверены, что "immitateActivity()" метод является асинхронным? Что ваше приложение не останавливается на этом и просто не переходит к регистрации второго MBean? BTW, вам не нужно повторно извлекать MBeanServer через ManagementFactory.getPlatformMBeanServer(). Сервер MBean платформы эффективно синглтон и не изменяется во времени. –