Я использую Spring 3 и выставляю MBean через Spring, все работает нормально, но я вижу ниже предупреждающее сообщение в файле журнала.Несколько серверов MBean найдены - Spring JMX с Websphere 7
WARN org.springframework.jmx.support.JmxUtils - Found more than one MBeanServer instance. Returning first from list.
Вот моя конфигурация:
<bean id="exporter" class="org.springframework.jmx.export.MBeanExporter">
<property name="assembler" ref="assembler" />
<property name="namingStrategy" ref="namingStrategy" />
<property name="autodetect" value="true" />
<property name="registrationBehaviorName" value="REGISTRATION_REPLACE_EXISTING"/>
</bean>
<bean id="jmxAttributeSource"
class="org.springframework.jmx.export.annotation.AnnotationJmxAttributeSource" />
<bean id="assembler"
class="org.springframework.jmx.export.assembler.MetadataMBeanInfoAssembler">
<property name="attributeSource" ref="jmxAttributeSource" />
</bean>
<bean id="WASAdminService" class="com.ibm.websphere.management.AdminServiceFactory"
factory-method="getAdminService" />
<bean id="namingStrategy" class="com.xxxx.WebSphereNamingStrategy">
<constructor-arg ref="WASAdminService" />
</bean>
Я поставил точку отладки и обнаружили, что он находит 'com.ibm.ws.management.PlatformMBeanServer' и «com.sun.jmx.mbeanserver .JmxMBeanServer '. Любая идея, почему она находят больше одного? Когда я googled, я обнаружил, что могу указать «идентификатор агента», чтобы найти требуемый MBean-сервер, но опять же, если мы развертываем этот код в нескольких средах, идентификатор агента может быть не таким (не может быть статическим) ...
Все входы на это ценится ...
Спасибо, Киран
Я получаю PlatformMBeanServer и Sun JmxMbeanServer. Я не вижу, чтобы я получил «WebContainer» Mbean. Я не загружаю эти бобы через веб-контейнер, а я загружаю через контейнер EJB (означает, что перехватчик EJB инициализирует контекст весеннего приложения). Тем не менее, я нашел способ указать в конфигурации использовать только «PlatformMBeanServer», мой MBean, похоже, инициализируется нормально, но я не вижу этого через JConsole. JConsole не смог найти мою Mbean. Я не уверен, какой Mbeanserver Jconsole загружается. –