Найдено несколько серверов MBean - Spring JMX с Websphere 7 - PullRequest
1 голос
/ 07 марта 2012

Я использую Spring 3 и выставляю MBean через Spring, все работает нормально, но я вижу ниже предупреждение в файле журнала.

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'.Любая идея, почему он находит больше, чем один?Когда я гуглил, я обнаружил, что могу указать «идентификатор агента», чтобы найти требуемый MBean-сервер, но опять же, если мы развертываем этот код в нескольких средах, идентификатор агента может не совпадать (не может быть статическим) ...

Любые комментарии по этому вопросу приветствуются ...

Спасибо, Киран

1 Ответ

1 голос
/ 07 марта 2012

Я предполагаю, что два сервера MBean соответствуют:

  1. серверу MBean «Платформа», установленному JVM.Этот MBean-сервер будет иметь все встроенные Mbean-компоненты, например: java.lang: type = Runtime
  2. , предоставляемый WebSphere для MBean-сервера, который имеет MBeans, например WebSphere: name = WebContainer, process = ...

Я новичок в этой области, но собираюсь продолжить расследование.С моей точки зрения, я бы хотел указать сервер Platform Mbean, чтобы к нему было проще получить доступ из инструментов мониторинга, таких как JConsole и т. Д.

...