Обновление:
Это, безусловно, действительно для WildFly 10+, jBOSS EAP 6.x или 7.x. Но я подозреваю, что механизмы больше не являются проприетарными и будут работать аналогично на других серверах приложений.
Специальные аннотации JBoss @Service / @Management были удалены, когда JavaEE 6 стандартизировал Singletons. MBean (всегда одноэлементный, так что все клиенты JMX видят одну и ту же непротиворечивую единицу данных JMX) становится EE6 + Singleton, предоставляемым через JMX следующим образом:
- определить интерфейс с именем, оканчивающимся на "... MXBean" (обязательно)
- создайте классы @Singleton и @Startup, которые реализуют этот интерфейс
- определить методы @PostConstruct и @PreDestroy для регистрации / отмены регистрации MBean
код регистрации / отмены регистрации подобен:
objectName = new javax.management.ObjectName("com.acme.example.jmx:type=" + this.getClass().getName());
platformMBeanServer = java.lang.management.ManagementFactory.getPlatformMBeanServer();
platformMBeanServer.registerMBean(this, objectName);
Методы получения / установки, определенные в вашем интерфейсе "... MXBean", становятся атрибутами JMX, другие методы отображаются на операции, как указано в Спецификациях JMX в разделе "шаблоны лексического проектирования"