Я пытаюсь определить регистратор перехватчик с связывающим интерфейсом перехватчика:не может использовать интерфейс привязки перехватчика с помощью @Target ({МЕТОД, ТИП}) для методов постконструкции?
@Inherited
@InterceptorBinding
@Retention(RUNTIME)
@Target({METHOD, TYPE})
public @interface OperationLogger {
@Nonbinding
public String operationName() default "";
@Nonbinding
public String details() default "";
}
но GlassFish 4.1 возвращает это сообщение об ошибке в компиляции:
перехватчик для жизненных циклов обратных вызовов перехватчик [класс ком. adldoost.dwm.security.interceptor.OperationLoggerInterceptor перехватывает @OperationLogger] объявляет и связывает перехватчик интерфейс com.adldoost.dwm.security.interceptorbinding.OperationLogger с МЕТОДОМ как его @Targ и др.
также Netbeans 8.1 Редактор говорит:
перехватчик для обратных вызовов может жизненного цикла только объявить перехватчики обязательные типы, которые определены как @Target (TYPE). Перехватчик com.adldoost.dwm.security.interceptor.OperationLoggerInterceptor объявляет о перехвате перехватчика несоответствия com.adldoost.dwm.security.interceptorbinding.OperationLogger.
В чем моя ошибка?
Моя цель настроена на: @Target ({МЕТОД, ТИП}) не только метод! мне нужно изменить его только на ТИП?! –
Как я уже сказал, либо аннотируйте свою привязку только с помощью '@Target (TYPE)' или не добавляйте '@ OperationLogger' в свой класс и это методы обратного вызова жизненного цикла. – andrepnh