2014-10-15 3 views
0

Я знакомлюсь с Jboss 7.
Я пишу какое-то приложение, чтобы опробовать технологии.Jboss 7 класс поиска JNDI класс исключений

Итак, я хотел иметь простую службу мониторинга, которая позволит мне делать некоторые счетчики по бизнес-методам.
Я хотел получить доступ к счетчикам через jmx и jndi.
«Counter-service» является частью jmx bean. При регистрации jmx он также зарегистрирован в jndi context.
Затем он используется в некоторых перехватчиках. И вот проблема возникает, когда я хочу получить ссылку от jndi, я получил исключение класса cast.

java.lang.ClassCastException: com.cybercom.pl.jbmon.SystemMonitorService cannot be cast to com.cybercom.pl.jbmon.SystemMonitorService 

Причина этого, я считаю, заключается в том, что классные загрузчики различны.

Во время запуска службы является:

ModuleClassLoader for Module "org.jboss.as.standalone:main" from local module loader @a4d593 .... 

Во время выполнения это: существует

ModuleClassLoader for Module "deployment.jboss-mon-app.ear.jboss-mon-web.war:main" from Service Module Loader 

JMX бобы, служба мониторинга и перехватчик в одном модуле EJB.

я наконец-то обходной путь для этого, вместо того, чтобы идти через JNDI я JMX клиента (https://github.com/michaljedryszka/jboss-sample-monitoring/commit/dcc4f05a4d6d50e592f0517bfe0454033f8e3659)

Но до сих пор я не знаю, как исправить эту CCE с JNDI поиска.

Что вы можете предложить?

С уважением

ответ

0

Вы можете попробовать create and install JBoss module с классами, которые являются частью JMX MBeans. Это приведет к загрузке в тот же загрузчик классов для всего доступа.
После того, как вы должны добавить зависимость от нового модуля в приложении, например, вы можете использовать файл jboss-deployment-structure.xml.

+0

Он работал с модулем jboss. Спасибо –

+0

@MichalJedryszka приветствую вас. Если вы считаете, что ответ правильный и полезный, не забудьте принять. –

Смежные вопросы