1

有没有办法为同一类的多个对象使用相同(单个)对象名称进行 MBean 注册?更简单的方法是什么?

4

1 回答 1

0

不,没有。如果您尝试注册一个与另一个已注册的实例具有相同名称的实例,javax.management.InstanceAlreadyExistsException则会抛出 a。

您必须为第二个实例使用不同的名称,如下所示:

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);
于 2015-09-17T21:33:59.110 回答