Я использую Tomcat 6 и HypericHQ для мониторинга через JMX.
Проблема заключается в следующем:
hyperic, сверхурочные, открывает сотни соединений jmx и никогда не закрывает их .. через несколько часов наш сервер Tomcat использует 100% ЦП, ничего не делая.
Как только я остановлю гипервизор, tomcat вернется к 0-1% процессора ..
Вот что мы видим в виртуальной виртуальной машине:
http://forums.hyperic.com/jiveforums/servlet/JiveServlet/download/1-11619-37096-2616/Capture.PNG
Я не знаю, является ли это гиперзвуковой проблемой или нет, но мне интересно, есть ли возможность исправить ее через конфигурацию tomcat / java? Причина, по которой я не знаю, является ли это гиперикой или проблемой конфигурации tomcat / java, заключается в том, что когда мы используем гиперику на другом стандартном Java-демоне, у него не возникает та же проблема утечки соединения.
JMX предоставляется с помощью Spring, и он отлично работает при соединении с клиентами JMX (JConsole / VisualVM). Когда я закрываю клиент, я вижу, что количество соединений уменьшается на единицу.
Есть ли что-то, что мы можем сделать, чтобы исправить это с помощью конфигурации Java? (принудительно закрывает соединение, открытое более X секунд?)
Еще одна вещь, в tomcat мы видим (время от времени) следующее сообщение (во время работы hyperic):
Mar 7, 2011 11:30:00 AM ServerCommunicatorAdmin reqIncoming
WARNING: The server has decided to close this client connection.
Спасибо