Как указать имя mbean с аннотацией @MBean
У меня есть архив SAR для JBoss и один зарегистрированный MBean в jboss-service.xml
, Теперь я хочу перейти на TomEE и использовать стандартные javax.management
аннотирование @MBean
, но я не могу узнать, как указать его имя, и он создает с именем по умолчанию. Может кто-нибудь мне помочь?
2 ответа
Решение
Вы должны указать имя при регистрации компонента, как описано здесь:
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), но DeltaSpike поддерживает интеграцию CDI и поддерживает ее: https://github.com/apache/deltaspike/blob/1572c07eb8d5f892308e1060a9fa1ccdbf18435e/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/jmx/MBean.java#L57