MBean对同一类的多个对象使用相同(单个)对象名进行注册



是否有一种方法为MBean注册具有相同(单一)对象名称的同一类的多个对象?更简单的方法是什么?

没有。如果您尝试注册一个与已注册实例同名的实例,则会抛出一个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);

最新更新