如何使用注释@MBean 指定 mbean 的名称
How to specify name of mbean with annotation @MBean
我有 JBoss 的 SAR 存档,并且在 jboss-service.xml
中注册了一个 MBean。
现在我想迁移到 TomEE 并使用标准 javax.management
注释 @MBean
,但我无法找到如何指定它的名称并且它使用默认名称创建。
谁能帮帮我?
您必须按照描述在注册 bean 时指定名称 here:
MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
ObjectName name = new ObjectName("com.example.mbeans:type=Hello");
Hello mbean = new Hello();
mbs.registerMBean(mbean, name);
TomEE 尚不支持(参见 https://issues.apache.org/jira/browse/TOMEE-1668) but DeltaSpike does and keeps the CDI integration: https://github.com/apache/deltaspike/blob/1572c07eb8d5f892308e1060a9fa1ccdbf18435e/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/jmx/MBean.java#L57
我有 JBoss 的 SAR 存档,并且在 jboss-service.xml
中注册了一个 MBean。
现在我想迁移到 TomEE 并使用标准 javax.management
注释 @MBean
,但我无法找到如何指定它的名称并且它使用默认名称创建。
谁能帮帮我?
您必须按照描述在注册 bean 时指定名称 here:
MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
ObjectName name = new ObjectName("com.example.mbeans:type=Hello");
Hello mbean = new Hello();
mbs.registerMBean(mbean, name);
TomEE 尚不支持(参见 https://issues.apache.org/jira/browse/TOMEE-1668) but DeltaSpike does and keeps the CDI integration: https://github.com/apache/deltaspike/blob/1572c07eb8d5f892308e1060a9fa1ccdbf18435e/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/jmx/MBean.java#L57