Zachytávač pro zpětná volání životního cyklu může deklarovat pouze typy vazeb zachytávačů, které jsou definovány jako @Target(TYPE)

Toto pravidlo značí hodnoty @Target jiné než ElementType.TYPE u vlastních anotací, které splňují následující podmínky:

Dále jsou uvedeny anotace zachytávače životního cyklu:

Následující příklad neodpovídá specifikaci Java EE 7 Contexty and Dependency Injection (CDI) 1.2, ale byla tolerována v implementaci CDI 1.0, která je založena na implementaci Apache OpenWebBeans. V rozhraní CDI 1.2, které je založeno na implementaci Weld, se aplikace nespustí.

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


@Interceptor @MyIInterceptorVazba veřejné třídy MyIInterceptor {

   @PostActivate
   void postActivate (InvocationContext inv)

   @PreDestroy
   void preDestroy (InvocationContext inv)
}

Chcete-li vyřešit tento problém, odeberte ElementType.METHOD z anotace @Target a odeberte všechny odkazy na anotaci u metod aplikace. Jsou-li zadány jakékoli jiné typy prvků než ElementType.TYPE, musí být také odebrány.

Další informace o implementaci Java EE 7 CDI 1.2 viz Změny chování Contexts and Dependency Injection 1.2.