Я пытаюсь создать внешний вид пользовательской аннотации.
У меня есть эта аннотация:
@Target({ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface BatchControlAnnotation{
public Class<?> classType();
public String batchName() default "none";
}
И у меня есть этот аспект pointcut:
@Around("@annotation(BatchControlAnnotation)")
public Object beforeBatch(ProceedingJoinPoint punto, BatchControlAnnotation batchControlAnnotation) throws Throwable {
log.debug("HEMOS ENTRADO EN EL ASPECTO, HEMOS CONSEGUIDO LOS VALIRES DE LA ANOTACION CLASSTYPE : {} BATCHNAME {}", batchControlAnnotation.classType().getName(), batchControlAnnotation.batchName());
log.debug("before");
Object obj = null;
try {
obj = punto.proceed();
} catch (Throwable e) {
log.error(e.getMessage(), e);
throw e;
}
log.debug("after");
return obj;
}
Но я получаю эту ошибку и не могу понять, почему:
org.springframework.security.config.annotation.configuration.ObjectPostProcessorConfiguration ':
Не удалось инициализировать бин; вложенное исключение
java.lang.IllegalArgumentException: тип ошибки, на которую ссылаются, не является
тип аннотации: *******
в org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapableBeanFactory.java:498)
в org.springframework.beans.factory.support.AbstractBeanFactory.lambda $ doGetBean $ 0 (AbstractBeanFactory.java:317)
в org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton (DefaultSingletonBeanRegistry.java:222)
в org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean (AbstractBeanFactory.java:315)
в org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:204)
в org.springframework.context.support.PostProcessorRegistrationDelegate.registerBeanPostProcessors (PostProcessorRegistrationDelegate.java:238)
в org.springframework.context.support.AbstractApplicationContext.registerBeanPostProcessors (AbstractApplicationContext.java:710)
в org.springframework.context.support.AbstractApplicationContext.refresh (AbstractApplicationContext.java:535)
в org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh (ServletWebServerApplicationContext.java:140)
в org.springframework.boot.SpringApplication.refresh (SpringApplication.java:759)
в org.springframework.boot.SpringApplication.refreshContext (SpringApplication.java:395)
в org.springframework.boot.SpringApplication.run (SpringApplication.java:327)
в com.karabati.ApibackApp.main (ApibackApp.java:61)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (собственный метод)
at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
в java.lang.reflect.Method.invoke (Method.java:498)
в org.springframework.boot.devtools.restart.RestartLauncher.run (RestartLauncher.java:49)
Есть ли у кого-нибудь идеи о том, что происходит? Или как это решить?