2011-07-21 8 views
5

В настоящее время я использую JBoss 4.3 для веб-приложения. Я хотел бы перейти на JBoss AS 7. Я смог исправить необходимость различий приложения в обеих версиях, кроме одного. В приложении есть некоторые компоненты JMX, созданные через весеннюю структуру. К сожалению, релиз AS 7 удалил класс: org.jboss.mx.util.MBeanServerLocator, который использовался весной, чтобы найти сервер JBoss JMX и создать некоторые компоненты. Я не знаком с JMX, но пока что единственное, что я нашел до сих пор: «http://lists.jboss.org/pipermail/jboss-as7-dev/2011-February/000569.html». Мне было интересно, если кто-то знает, как заменить класс выше от JBOSS новыми классами JMX 1.6. Вот моя весна конфигурации snipet для части мне нужно исправить:Замена локатора сервера JMX в JBoss AS 7 для класса MBeanServerLocator

<bean class="org.springframework.jmx.export.MBeanExporter"> 
    <property name="server"> 
     <bean class="org.jboss.mx.util.MBeanServerLocator" factory-method="locateJBoss"/> 
    </property> 
     <property name="beans"> 
     <map> 
      <entry key="MywebMbeans:name=profileListenerContainer" value-ref="profileListenerContainer"/> 
      <entry key="MywebMbeans:name=jmsSenderService" value-ref="jmsSenderService"/> 
      <entry key="MywebMbeans:name=mailSender" value-ref="mailSender"/> 
     </map> 
     </property> 
     <property name="assembler" ref="mbeanAssembler"/> 
</bean> 

Спасибо,

ответ

4

MBeanServer используется JBoss 7 (по умолчанию) является платформой MBeanServer. Имя класса: com.sun.jmx.mbeanserver.JmxMBeanServer, а домен по умолчанию - . DefaultDomain. Соответственно, вы можете просто использовать:

java.lang.management.ManagementFactory.getPlatformMBeanServer() 

В качестве альтернативы:

for(MBeanServer server: javax.management.MBeanServerFactory.findMBeanServer(null)) { 
     if("DefaultDomain".equals(server.getDefaultDomain())) return server; 
    } 
    throw new Exception("Failed to locate MBeanServer"); 
1

На самом деле я просто смотрю на странице JMX весной http://static.springsource.org/spring/docs/1.2.x/reference/jmx.html

Ниже будет работать как в JBoss instaces 4 и 7 .

<bean id="mbeanServer" class="org.springframework.jmx.support.MBeanServerFactoryBean"> 
     <property name="locateExistingServerIfPossible" value="true" /> 
</bean> 

<bean class="org.springframework.jmx.export.MBeanExporter"> 

    <property name="server" ref="mbeanServer"/> 
    </property> 
     <property name="beans"> 
     <map> 
      <entry key="MywebMbeans:name=profileListenerContainer" value-ref="profileListenerContainer"/> 
      <entry key="MywebMbeans:name=jmsSenderService" value-ref="jmsSenderService"/> 
      <entry key="MywebMbeans:name=mailSender" value-ref="mailSender"/> 
     </map> 
     </property> 
     <property name="assembler" ref="mbeanAssembler"/> 
</bean> 

 Смежные вопросы

  • Нет связанных вопросов^_^