вопрос по tomcat и jmx - PullRequest
       35

вопрос по tomcat и jmx

0 голосов
/ 21 апреля 2011


Что именно делает MBeanServerFactory.findMBeanServer(null);?
Возвращает список всех зарегистрированных MBeanServers?Зарегистрирован где?
Я спрашиваю, потому что у меня следующая проблема.
У меня развернуто веб-приложение Java в Tomcat с использованием оболочки службы.
У меня есть реализации пользовательских коннекторов в моем server.xml, которые используют ManagedBeans (Весна включена).
Если я запускаю приложение через служебную оболочку, все в порядке.
Если я запускаю веб-приложение напрямую через Tomcat, кажется, что развертывание прерывается.
Все, что я вижу в журналах, это то, чтосоединитель выполняет

MBeanServerFactory.findMBeanServer(null);

, а затем пытается вызвать компонент beanServer.invoke(name, operationName, null, null);
В результате возникает InstanceNotFoundException.
Кажется, что управляемые компоненты не загружаются, если я не используюсервисная обертка?Правильно ли мое понимание?Любые отзывы о том, как отладить эту проблему, приветствуются!

1 Ответ

1 голос
/ 21 апреля 2011

javadoc говорит, что когда вы передаете null, он возвращает серверы, зарегистрированные в текущей JVM. Если вы используете JSW, вы не можете использовать null, поскольку JSW разветвляет виртуальную машину как отдельный процесс. Вот почему вы видите InstanceNotFoundException.

...