Я пытаюсь контролировать Tomcat 6.0 с помощью JMX. В частности, я хочу отслеживать количество запросов на обслуживание активных потоков, чтобы получать предупреждение, если оно приближается к максимуму. Хотя в целом у меня работает мониторинг JMX, я не могу определить количество потоков. Все, что я прочитал, предполагает взглянуть на:
Catalina:type=ThreadPool,name=http-8080
И исследуем атрибут currentThreadsBusy. К сожалению, мне кажется, что я получаю только -1 в качестве значения. Я пробовал это на пяти разных экземплярах Tomcat и всегда получаю -1.
Что-то мне не хватает? Стоит ли искать другое значение?
РЕДАКТИРОВАТЬ # 1
Я использую Executor, поэтому я проверил activeCount атрибут в Executor, и он всегда возвращает 0.
Значение может стать отрицательным, если вы используете Executor, то есть пул потоков, совместно используемый компонентами. Если вы настроили Executor (проверьте это в server.xml), вы можете получить интересующее вас значение из атрибута Executor activeCount.
Я считаю, что с Tomcat 7 у вас не будет этой проблемы.