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

时间:2015-11-25 13:32:10

标签: spring-boot aspectj

在我的项目中,我将一些方面用作项目的一部分,一些方面作为公共库的一部分。使用 Spring Boot 的默认编织概念,第一个请求大约需要10秒。因此,我们尝试使用 aspectj-maven-plugin 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的缺失信息应该放在这里。

我使用 ajc 1.8.1和合规级别1.8。

我的Loggable注释:

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

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

警告意味着完全合格的包装&切入点中的类名与注释中的实际名称不完全匹配。