私はJBoss 4.2.2で動作するWebアプリケーションを持っています。特定のMBeanServerを使用するようにSpringのMBeanExporterを強制する
-Dcom.sun.management.jmxremote
をJBossの起動スクリプトへ:パフォーマンスを監視するために、私は、Java 5に付属言い換えれば、私は追加の内部プラットフォームのJMXサーバーを有効にしています。これは期待どおりに動作します。ただし、この結果、すべてのMBeanがプラットフォームMBeanServerに登録されます。私はそれを望んでいません、私はそれらをJBossのMBeanServerに登録します。
難易度は、私がマネージドBeanを登録するためにSpringを使用することにあります。このためには、MBeanExporter
が使用されます。したがって、私はMBeanExporter
にBeanの登録時にJBossのMBeanServerを使用するように指示する必要があります。ただし、MBeanExporter
でどのサーバーが使用されているかに影響する唯一の公開方法はsetServer(MBeanServer mBeanServer)
です。問題は、正しいMBeanServer への参照をプログラム的にに取得する方法しか知りませんが、MBeanExporter
が宣言されているSpringのXMLでは認識されません。
私のオプションがあるように思われる:正しいのMBeanServerが
setServer
PostBeanProcessor
を書くロードされるように
- は、特定のメソッドをオーバーライドし、
MBeanExporter
にサブクラスを書きますJNDI? MBeanServerがJNDIで公開されていて、それを見つけることができなかった場合にのみ動作します。
最も慣用的な方法は何ですか?私は何か本当にばかげていますか?
素晴らしい!これはまさに私が探していたものです。私はこれまでファクトリメソッドを使っていましたが、この使い方には完璧であるとは思えませんでした。 – waxwing