Регистрация JMX MBean с помощью Spring на автономной JVM

После различных примеров конфигураций из документации Spring, а также некоторых форумов в Интернете, мой контекстный файл приложения выглядит следующим образом:

<beans>
    <bean id="dH" class="abc.def.ghi.DH">
        <constructor-arg>
            <value>0</value>
        </constructor-arg>
        <property name="num" value="100"/>
    </bean>
    <bean class="org.springframework.jmx.export.MBeanExporter" lazy-init="false">
            <property name="beans">
              <map>
                    <entry key="bean:name=dH1" value-ref="dH"/>
              </map>
            </property>
    </bean>
    <bean class="org.springframework.jmx.support.MBeanServerFactoryBean"/>
</beans>

Я запускаю его без какого-либо контейнера и на простой JVM. Я могу подключиться к своему процессу через JConsole, но MBean не отображается. Однако регистрация компонента программно предоставляет его успешно.

MBeanServer mbeanServer = ManagementFactory.getPlatformMBeanServer();
DH dh = new DH(0);
mbeanServer.registerMBean(dh, new ObjectName("bean:name=dH1"));

Я безуспешно пытался играть с конфигурацией Spring. Я думаю, что компонент не регистрируется на уже работающем сервере MBean, который был доступен из ManagementFactory.getPlatformMBeanServer(). Есть идеи по этому вопросу?

8
задан Monis Iqbal 6 February 2012 в 16:57
поделиться