2013-03-26 3 views
0

Я пытаюсь контролировать объекты своего приложения через 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 нет. Пожалуйста помоги.

+0

Вы уверены, что "immitateActivity()" метод является асинхронным? Что ваше приложение не останавливается на этом и просто не переходит к регистрации второго MBean? BTW, вам не нужно повторно извлекать MBeanServer через ManagementFactory.getPlatformMBeanServer(). Сервер MBean платформы эффективно синглтон и не изменяется во времени. –

ответ

0

Я бы поменял type= быть name=. Если вы посмотрите на ObjectName javadocs, все их образцы имеют name=, которые, как я считаю, используют jconsole для отображения компонентов. Возможно, у вас есть две бобы, которые в основном имеют нулевое имя, и они переписывают друг друга. Он может использовать класс объекта как имя.

new ObjectName("org.javalobby.tnt.jmx:name=ApplicationCacheMBean1"); 
new ObjectName("org.javalobby.tnt.jmx:name=ApplicationCacheMBean2"); 

Если потянуть его в Jconsole и нажмите на название боба, он должен показать ObjectName, что он использует. Вы можете увидеть там выведенное имя.

Как и в сторону, мой SimpleJMX package силы создание проблема ObjectName:

@JmxResource(domainName = "j256", beanName = "LookupCache") 
public class LookupCache { 

Это создает ObjectName: j256:name=LookupCache

 Смежные вопросы

  • Нет связанных вопросов^_^