2011-07-21 14 views
5

現在、JBoss 4.3をWebアプリケーション用に使用しています。私はJBoss AS 7に移行したいと思います。両方のバージョンでアプリケーションの違いを修正する必要がありました。アプリケーションには、Springフレームワークを介して作成されるいくつかのJMX Beanがあります。残念ながら、AS 7リリースでは、春にJBoss JMXサーバーの位置を特定し、いくつかのBeanを作成するために使用されたクラスorg.jboss.mx.util.MBeanServerLocatorが削除されました。私はJMXに精通していませんが、これまでに私が見つけた唯一のことは、 "http://lists.jboss.org/pipermail/jboss-as7-dev/2011-February/000569.html"です。上記のクラスをJBOSSから新しいJMX 1.6クラスに置き換える方法を誰かが知っているかどうかは疑問でした。ここで私は修正する必要がある部分のための私の春の設定snipetです:JBoss AS 7でのJMXサーバロケータの置き換え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> 

おかげで、(デフォルトで)のJBoss 7で使用

答えて

4

のMBeanServerは、プラットフォームの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

は、実は私は両方のJBossに春 http://static.springsource.org/spring/docs/1.2.x/reference/jmx.html

以下が動作するためにJMXのページで見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> 
関連する問題