Perf4j на Websphere 7? - PullRequest
       58

Perf4j на Websphere 7?

0 голосов
/ 13 декабря 2011

Я пытаюсь развернуть EAR на нашем сервере приложений Websphere версии 7 (точно 7.0.0.17).Предыдущая версия работала нормально, я просто пытаюсь добавить некоторые детали профилирования в наши журналы, используя Perf4j.

Не удается установить, за исключением следующих случаев:

com.ibm.ws.exception.RuntimeWarning: java.lang.TypeNotPresentException: Type org.perf4j.log4j.aop.EjbTimingAspect not present
    at com.ibm.ws.metadata.ejb.EJBMDOrchestrator.processBean(EJBMDOrchestrator.java:1357)
    at com.ibm.ws.runtime.component.EJBContainerImpl.startModule(EJBContainerImpl.java:2618)
    at com.ibm.ws.runtime.component.EJBContainerImpl.start(EJBContainerImpl.java:3826)
    [....snip...snip...]
Caused by: java.lang.TypeNotPresentException: Type org.perf4j.log4j.aop.EjbTimingAspect not present
    at com.ibm.oti.reflect.AnnotationHelper$AnnotationInvocationHandler.invoke(AnnotationHelper.java:131)
    at $Proxy27.value(Unknown Source)
    at com.ibm.ws.metadata.ejb.InterceptorMetaDataFactory.addMethodLevelInterceptors(InterceptorMetaDataFactory.java:1263)
    at com.ibm.ws.metadata.ejb.InterceptorMetaDataFactory.updateEJBMethodInfoInterceptorProxies(InterceptorMetaDataFactory.java:1384)
    at com.ibm.ws.metadata.ejb.InterceptorMetaDataFactory.createInterceptorMetaData(InterceptorMetaDataFactory.java:410)
    at com.ibm.ws.metadata.ejb.EJBMDOrchestrator.initializeInterceptorMD(EJBMDOrchestrator.java:6924)
    at com.ibm.ws.metadata.ejb.EJBMDOrchestrator.finishBMDInit(EJBMDOrchestrator.java:1761)
    at com.ibm.ws.metadata.ejb.EJBMDOrchestrator.processBean(EJBMDOrchestrator.java:1346)
    ... 48 more
Caused by: java.lang.ClassNotFoundException: org.perf4j.log4j.aop.EjbTimingAspect
    at com.ibm.oti.reflect.AnnotationHelper.getReturnValueForEntry(Native Method)
    at com.ibm.oti.reflect.AnnotationHelper.access$000(AnnotationHelper.java:16)
    at com.ibm.oti.reflect.AnnotationHelper$AnnotationInvocationHandler.invoke(AnnotationHelper.java:129)
    ... 55 more

Класс org.perf4j.log4j.aop.EjbTimingAspect является частью Perf4j фляги и добавляется в EAR (проверено и подтверждено).

Конечно, как обычно в Websphere, я подозреваю, что загрузка класса проблема (наше приложение использует parent first, и изменение, которое не является вариантом, так как это вызывало несколько проблем в прошлом), но не может найти ничего на форумах или в Google.

У кого-нибудь естьИдея, что может быть не так?Ни один. Никто?Да ладно, я уверен, что я не единственный, у кого есть эта проблема!

1 Ответ

0 голосов
/ 15 декабря 2011

Хорошо, наконец-то нашел ответ на этот вопрос. Похоже, что добавления зависимостей на POM уровня EJB было недостаточно, они также должны быть во внутреннем приложении (файл WAR), хотя я использую класс только в слое EJB ...

Ну что ж, опять внутренняя магия Вебсферы.

...