Questa regola contrassegna i valori di @Target diversi da ElementType.TYPE nelle annotazioni personalizzate che soddisfano le seguenti condizioni:
@InterceptorBinding.@Interceptor.Le seguenti sono le annotazioni intercettatore del ciclo di vita:
Il seguente esempio non è conforme alle specifiche di Java EE 7 Contexts and Dependency Injection (CDI) 1.2 ma è stata tollerata nell'implementazione di CDI 1.0, che si basa sull'implementazione di Apache OpenWebBeans. In CDI 1.2, che si basa sull'implementazione di Weld, l'applicazione non parte.
@InterceptorBinding @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.TYPE, ElementType.METHOD}) Public @interface MyIInterceptorBinding {}
@Interceptor @MyIInterceptorCollegamento della classe pubblica MyIInterceptor {
@PostActivate
void postActivate (InvocationContext inv)
@PreDestroy
void preDestroy (InvocationContext inv)
}
Per risolvere questo problema, rimuovere ElementType.METHOD dall'annotazione @Target, e rimuovere tutti i riferimenti all'annotazione nei metodi dell'applicazione.
Sarà necessario rimuovere qualsiasi tipo di elemento diverso da ElementType.TYPE, se presente.
Per ulteriori informazioni sull'implementazione di Java EE 7 CDI 1.2, consultare Contexts and Dependency Injection 1.2 behavior changes.