2011-07-21 10 views
5

için JBoss AS 7'deki JMX sunucusu bulucu değiştirme Bir web uygulaması için şu anda JBoss 4.3 kullanıyorum. JBoss AS 7'ye geçmek istiyorum. Her iki versiyonda da uygulama farklılıklarını düzeltmem gerekiyor. Uygulama, bahar çerçeve ile oluşturulan bazı JMX fasulye var. Ne yazık ki AS 7 sürümü, JBoss JMX sunucusunu bulmak ve bazı çekirdekler oluşturmak için ilkbaharda kullanılan org.jboss.mx.util.MBeanServerLocator sınıfını çıkardı. Ben JMX ile aşina değilim ama şimdiye kadar bulduğum tek şey: "http://lists.jboss.org/pipermail/jboss-as7-dev/2011-February/000569.html". Birisi yeni JBX 1.6 sınıfları ile JBOSS'den sınıfın nasıl değiştirileceğini bilip bilmediğini merak ediyordum.JBossServerLocator

<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> 

sayesinde (varsayılan olarak) JBoss 7 tarafından kullanılan

cevap

4

MBeanServer platformu MBeanServer geçerli: İşte düzeltmek gerekir parça için benim bahar yapılandırma parçası, mikroişlemciyi olduğunu. Sınıf adı com.sun.jmx.mbeanserver.JmxMBeanServer ve varsayılan etki alanı DefaultDomain'dur. Buna göre, sadece kullanabilirsiniz: Alternatif

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

Aslında ben sadece ikisi JBoss bahar http://static.springsource.org/spring/docs/1.2.x/reference/jmx.html

şu çalışacak için JMX sayfasında bakmak instaces 4 ve 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>