AspectJ:基于注释的日志记录方面在使用编译时编织的Spring Boot中不起作用



在我的项目中,我使用某些方面作为项目的一部分,而另一些方面作为公共库的一部分。第一个请求大约需要10秒,默认编织概念为Spring Boot。因此,我们尝试使用aspectj-maven插件1.7切换到CTW(编译时编织)。

启动时间现在已经减少,这是切入点的一个方面

@Around("execution(public com.XXXX.XXXXX.common.XXXX.APIErrorResponse *(..))")

正在工作,但使用切入的方面

@Around("@annotation(com.xxxxxx.XXX.common.xxx.Loggable)"))

不起作用(我创建了一个@Loggable注释来应用进入/退出日志记录)。我得到以下编译器消息:

[WARNING] advice defined in com.xx.xx.xx.xx.LoggerAspect has not been applied [Xlint:adviceDidNotMatch]

我在pom.xml中使用以下配置:

编辑备注:缺少pom.xml的信息应该放在这里

我使用ajc1.8.1和合规级别1.8。

我的可记录注释:

@Retention(RetentionPolicy.CLASS)
@Target({ ElementType.METHOD, ElementType.TYPE })
public @interface Loggable {}

任何帮助都将不胜感激。

警告意味着完全限定的包&切入点中的类名与注释中的真实类名不完全匹配。

最新更新