다른 ejb-jar의 ejb-jar에서 주석 기반 인터셉터를 사용할 수 있습니까? @Logged 예제와 함께 시도했지만 그걸로 갇혀있다. 누군가 나를 도울 수 있습니까? core.jar를에서CDI - 라이브러리의 인터셉터 클래스 사용
:
@Inherited
@InterceptorBinding
@Retention(RUNTIME)
@Target({METHOD, TYPE})
public @interface Logged {}
및
@Logged
@Interceptor
public class LoggedInterceptor implements Serializable {
private static final long serialVersionUID = 1L;
public LoggedInterceptor() {
}
@AroundInvoke
public Object logMethodEntry(InvocationContext invocationContext)
throws Exception {
System.out.println("Entering method: "
+ invocationContext.getMethod().getName() + " in class "
+ invocationContext.getMethod().getDeclaringClass().getName());
return invocationContext.proceed();
}
}
질문입니다 : 방법 (엔터프라이즈 응용 프로그램 내) 다른 EJB-항아리에서이 인터셉터를 사용하는? 예를 들면 :
module1.jar : 나는 < 인터셉터> < 클래스를 넣어 시도했습니다
public class ModuleClass{
@Logged public void doSomething(){...}
}
..... 콩에 방법이 다른 모듈에서 찾을 수 있습니다 비즈니스 메소드 호출을 로깅 . xml도 있지만, 나를 위해 작동하지 않습니다.
어떤 조언을 주셔서 감사합니다! 내가 보스에 꽤 바이올린을 리콜에도 불구하고 확실히 작동합니다
감사합니다. 글래스 피쉬의 JIRA에서 발견 된 "기능"이며 v4에서만 수정됩니다 (v3.2는 건너 뜁니다). http://java.net/jira/browse/GLASSFISH-15119 – user1451106
이 업데이트를 게시 주셔서 감사합니다. –