Импорт аннотации Spring AOP в отдельный проект - PullRequest
0 голосов
/ 07 июля 2019

У меня есть два проекта.Одним из них является сервис Spring Boot, а другим - библиотека, которая использует Spring AOP.Я создал пользовательскую аннотацию, которая будет выполняться всякий раз, когда метод аннотируется этой пользовательской аннотацией.Поскольку я хочу, чтобы эта аннотация использовалась во многих сервисах, она находится внутри библиотеки.Мой код выглядит примерно так:

Служба:

@MyCustomAnnotation
  public void doSomething() {
    log.info("Do something is invoked!");
  }
@EnableAspectJAutoProxy
public class ApplicationConfig {
...
}

Библиотека:

@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface MyCustomAnnotation {
...
}
@Aspect
public class ContinueTraceFromSpringKafkaEventAspect {

    @Pointcut("@annotation(MyCustomAnnotation)")
    public void executeMyCustomAnnotation() { }

    @Before("executeMyCustomAnnotation()")
    public void beforeAnnotation(JoinPoint joinPoint) {
        log.info("Before annotation");
    }

    @After("executeMyCustomAnnotation()")
    public void afterAnnotation(JoinPoint joinPoint) throws Throwable {
        log.info("After annotation");
    }
}

Аннотация будет успешно выполнена, когда код жилвнутри службы, но с тех пор, как она извлечена в библиотеку (и имеет библиотеку на пути к классам службы через зависимость Maven), она не выполняется - я подозреваю, что выражение pointcut нужно изменить.

Есть идеи?

...