@target 切入点抛出 IllegalStateException
@target pointcut throws IllegalStateException
在 Spring 引导 AOP 应用程序中我有一个切入点 @target(MyAnnotation) || @annotation(MyAnnotation)
。
如果将 MyAnnotation
放在使用此注释注释的执行对象或注释方法上,则应执行建议。
当我 运行 申请时,我得到
java.lang.IllegalArgumentException: Cannot subclass final class org.springframework.cloud.sleuth.log.Slf4jScopeDecorator
讨论了一个类似的问题 但似乎切入点太宽而我的不是,因为我在项目中只有少数注释 类 和 MyAnnotation
。
我把这个注解放在伪造客户端界面上,就像这样。
@MyAnnotation
@FeignClient(name="some-name", url="http://test.url")
public interface MyClient {
@RequestMapping(method = RequestMethod.GET, value = "/endpoint")
List<Store> getSomething();
}
知道我的切入点有什么问题吗?
好的,经过几个小时的调查,我用这个替换了我的切入点
@Around("execution(* (@MyAnnotation *).*(..)) || execution(@MyAnnotation * *(..))")
如here所述,我只使用execution
来避免创建代理。希望这有帮助
在 Spring 引导 AOP 应用程序中我有一个切入点 @target(MyAnnotation) || @annotation(MyAnnotation)
。
如果将 MyAnnotation
放在使用此注释注释的执行对象或注释方法上,则应执行建议。
当我 运行 申请时,我得到
java.lang.IllegalArgumentException: Cannot subclass final class org.springframework.cloud.sleuth.log.Slf4jScopeDecorator
讨论了一个类似的问题 MyAnnotation
。
我把这个注解放在伪造客户端界面上,就像这样。
@MyAnnotation
@FeignClient(name="some-name", url="http://test.url")
public interface MyClient {
@RequestMapping(method = RequestMethod.GET, value = "/endpoint")
List<Store> getSomething();
}
知道我的切入点有什么问题吗?
好的,经过几个小时的调查,我用这个替换了我的切入点
@Around("execution(* (@MyAnnotation *).*(..)) || execution(@MyAnnotation * *(..))")
如here所述,我只使用execution
来避免创建代理。希望这有帮助