Ez a szabály megjelöli az ElementType.TYPE értékűtől eltérő
@Target értékeket az egyéni annotációk esetén, a következő
feltételekkel:
@InterceptorBinding annotációval.@Interceptor annotációval
megjelölt osztályon van alkalmazva.Az életciklus elfogó annotációk a következők:
A következő példa nem kompatibilis a Java EE 7 Contexts and Dependency Injection (CDI) 1.2 specifikációval, de az Apache OpenWebBeans megvalósításon alapuló CDI 1.0 megvalósítás elfogadta. A CDI 1.2 specifikációban, amely a Weld megvalósításon alapul, az alkalmazás nem indul el.
@InterceptorBinding @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.TYPE, ElementType.METHOD}) nyilvános @interface MyIInterceptorBinding {}
@Interceptor @ @MyIInterceptorBinding nyilvános osztály MyIInterceptor {
@PostActivate
void postActivate (InvocationContext inv)
@PreDestroy
void preDestroy (InvocationContext inv)
}
A probléma megoldása érdekében távolítsa el az
ElementType.METHOD jellemzőt a @Target
annotációból, és távolítsa el az összes hivatkozást az
annotációra az alkalmazás módszerekből.
Ha meg van adva bármilyen, nem ElementType.TYPE elemtípus,
akkor azokat is el kell távolítani.
A Java EE 7 CDI 1.2 megvalósítással kapcsolatos további információk: Contexts and Dependency Injection 1.2 viselkedésváltozásai.