1

JBoss Fuse Fabric (v7.2.0.redhat-024) で実行するサービス用のカスタムMBeanを作成しました。

  • インターフェース:com.mycompany.myservice.MyServiceManagerMBean
  • 実装クラス:com.mycompany.myservice.MyServiceManager

MBean を JBoss Fuse で登録または「検出」する最も簡単な方法は何ですか?

以下を blueprint.xml に追加しようとしましたが、うまくいかないようです:

<bean id="org.apache.cxf.management.InstrumentationManager" class="org.apache.cxf.management.jmx.InstrumentationManagerImpl">
    <property name="enabled" value="true" />
    <property name="bus" ref="cxf" />
    <property name="usePlatformMBeanServer" value="true" />
</bean>

サービスをデプロイするプロファイルで JBoss Fuse Fabric を実行し、JConsole を起動して、org.apache.karaf.man.Mainという名前の最初のローカル プロセスに接続します (そのうちの 2 つがあります)。

それでも、MBean が見つかりcom.mycompany.myserviceません。[MBean] タブに表示されることを期待していますが、そこにはありません。

対照的に、このツリー ノードの下にすべてのデータソース jmx Bean が表示されます。

com.mycompany.anotherservice.datasources.

ただし、データソース MBean はjmxEnabled=trueを設定することによって構成されているため、独自の MBean を構成および公開する方法について、私は賢明ではありません。

ここで何をする必要があるか教えてください。

前もって感謝します。

4

2 に答える 2

2

JBoss Fuseの blueprint.xml設定でこれを行う方法を次に示します。

<bean id="mbeanRegistrer" class="org.apache.karaf.management.MBeanRegistrer" init-method="init">
    <property name="bundleContext" ref="blueprintBundleContext"/>
    <property name="mbeans">
        <map>
            <entry value="com.mycompany.myservice:type=admin,name=myadminBean" key-ref="myadminBean"/>
        </map>
    </property>
</bean>

助けてくれた同僚のYHに感謝します:)

于 2013-08-07T10:29:58.213 に答える