2017-09-27 11 views
0

CDI 빈과 마찬가지로 인터셉터 바인딩 가능 주석을 사용하여 EJB에서 인터셉터를 선언 할 수 있습니까?EJB의 어노테이션 기반 인터셉터

@Target({ElementType.METHOD, ElementType.TYPE}) 
@Retention(RetentionPolicy.RUNTIME) 
@InterceptorBinding 
public @interface MyInterceptor { 
} 

@Stateless 
@Remote(MyService.class) 
public MyServiceImpl implements MyService { 

    @Override 
    @MyInterceptor 
    public String myBusinessMethod() { 
      return ""; 
    } 

} 
+1

가능할뿐만 아니라 권장 방법입니다. 단순히 시도하는 것에서 당신을 차단하는 것은 무엇입니까? – Siliarus

+0

왜 그런지 모르지만 JBoss 7.0에서는 작동하지 않습니다. 나는 아직도 조사 중이다. '@Interceptors (MyInterceptor.class'. –

+0

이제'@ Priority'를 추가 한 후 작동하지 않습니다.) 고마워요. –

답변

1

예, 가능합니다. EJB는 다른 CDI 빈과 거의 비슷하게 취급 할 수 있습니다. beans.xml에서 인터셉터를 활성화하거나 @Interceptor 바인딩을 추가해야합니다. 자세한 내용은 weld 문서를 참조하십시오. https://docs.jboss.org/weld/reference/1.0.0/en-US/html/interceptors.html

표준 EJB 주석은 src 또는 위에서 설명한 documenation 링크에서 볼 수 있듯이 이와 같이 구현됩니다.