web-dev-qa-db-ja.com

Tomcat JMXモニタリング-ビジースレッド?

JMXを使用してTomcat6.0を監視しようとしています。具体的には、リクエストを処理するアクティブなスレッドの数を監視して、最大数に近づいたときにアラートを受け取ることができるようにします。 JMXモニタリングは一般的に機能していますが、スレッド数を取得できないようです。私が読んだすべてのものは、見ることを示唆しています:

Catalina:type=ThreadPool,name=http-8080

そして、currentThreadsBusy属性を調べます。残念ながら、私は値として-1しか得られないようです。 5つの異なるTomcatインスタンスで試してみましたが、常に-1になります。

足りないものはありますか?別の値を見るべきですか?

編集#1

エグゼキュータを使用しているので、エグゼキュータのactiveCount属性を確認すると、常に0が返されます。

3
organicveggie

エグゼキュータ、つまりコンポーネント間で共有されるスレッドプールを使用している場合、値は負になる可能性があります。エグゼキュータを設定した場合(server.xmlでこれを確認してください)、エグゼキュータの属性activeCountから目的の値を取得できます。

Tomcat 7を使用すれば、この問題は発生しないと思います。

2
d.hoeffer