Регистрация MBean с одинаковым (единым) именем объекта для нескольких объектов одного класса

Есть ли способ регистрации MBean с одинаковым (единым) именем объекта для нескольких объектов одного класса? Какой способ проще?


person Karthik Bhargav    schedule 16.09.2015    source источник


Ответы (1)


Нет, нет. Если вы попытаетесь зарегистрировать экземпляр с тем же именем, что и другой, который уже был зарегистрирован, будет выдано javax.management.InstanceAlreadyExistsException.

Вы должны использовать другое имя для второго экземпляра следующим образом:

MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();

ObjectName name = new ObjectName("firstInstance:type=Hello");
Hello mbean = new Hello();
mbs.registerMBean(mbean, name);

ObjectName name2 = new ObjectName("secondInstance:type=Hello");
Hello mbean2 = new Hello();
mbs.registerMBean(mbean2, name2);
person hbelmiro    schedule 17.09.2015