2009-08-17 18 views
2

JMXを使用してtomcatで実行されているWebアプリケーションを監視したいと思います。JMXを使用してtomcat上のWebアプリケーションを監視する方法はありますか?

Tomcatの組み込みJMX実装を使用したくないので、実際のWebアプリケーション用のmbeanを実装したいので、アプリケーション固有の設定に関する情報を取得して監視できます。

ウェブアプリケーションとオンラインモニタリングの問題は、Webアプリケーションが常にアクティブではなく、サーバによるリクエストを処理するために「起動」されているため、通常の実行プロセスの場合と同様にJMXをプラグインするだけではありません。

Tomcatをバックグラウンドで(シングルトンのように)実行するには、どうすればいつでも接続できますか?

これを行う方法は一般的なものですが、私は気づいていませんか?

ありがとうございます!

答えて

2

ServletContextListenerを実装するクラスを作成して、そのリスナーをweb.xmlにロードすることができます。

クラス:

public class ServerListener implements ServletContextListener { 

    public void contextDestroyed(ServletContextEvent pSce) { 
    } 

    public void contextInitialized(ServletContextEvent pSce) { 
     // TODO Register MBean here. 
    } 
} 

のweb.xml:

<listener> 
    <listener-class>com.example.ServerListener</listener-class> 
</listener> 
+0

よく見えます。私は今これを試してみるつもりです。 – Ben

+0

私はこれをやろうとしています - http://oss.wxnet.org/mbeans.html。 うまくいけば、これはうまくいくでしょう。 – Ben

3

アプリケーションでは、アプリケーションのデプロイ時にMBeanサーバーにMBeanを登録する必要があります。 Webアプリケーションがデプロイされている間、MBeanが公開されます。私はSpring Framework JMX supportをTomcatの中で使っていますが、Springなしでこれを行う方法はあります。

関連する問題