Esta regra sinaliza valores @Target diferentes de ElementType.TYPE em anotações customizadas que atendem as condições a seguir:
@InterceptorBinding.@Interceptor.A seguir estão as anotações de interceptor de ciclo de vida:
O exemplo a seguir não obedece à especificação de Contexts and Dependency Injection (CDI) 1.2 de Java EE 7, mas foi tolerado na implementação do CDI 1.0, que é baseada na implementação do OpenWebBeans do Apache. No CDI 1.2, que é baseado na implementação do Weld, o aplicativo não inicia.
@InterceptorBinding (RetentionPolicy.RUNTIME) @Target({ElementType.TYPE, ElementType.METHOD}) público @interface MyIInterceptorLigação {}
@Interceptor @MyIInterceptorClasse pública de ligação MyIInterceptor {
@PostActivate
void postActivate (InvocationContext inv)
@PreDestroy
void preDestroy (InvocationContext inv)
}
Para resolver esse problema, remova o ElementType.METHOD a partir da anotação @Target e remova todas as referências para a anotação em métodos de aplicativo.
Se algum tipo de elemento diferente de ElementType.TYPE for especificado, ele também deverá ser removido.
Para obter mais informações sobre a implementação do Java EE 7 CDI 1.2, consulte Mudanças de comportamento do Contexts and Dependency Injection 1.2.