Аспект не вызывается для внешней библиотеки в весенней загрузке 2 - PullRequest
0 голосов
/ 25 сентября 2019

Я использую Spring boot 2, необходимо распечатать журналы при выполнении org.apache.catalina.webresources.CachedResource.validateResource() внутри библиотеки.

Я создал класс и добавил зависимости в build.gradle

@Aspect
@Configuration
public class LoggingCollabCustomAspect {

    public static final String TO_STRING_RESULT = "changed";

    @Pointcut("execution(* org.apache.catalina.webresources.CachedResource.validateResource(*))")
    public void loadExternalResource()
    {
    }

    @Around("loadExternalResource()")
    public Object showLogs(ProceedingJoinPoint joinPoint) throws Throwable
    {
        Object ignoredToStringResult = joinPoint.proceed();
        System.out.println("File changed: " + ignoredToStringResult);
        return TO_STRING_RESULT;
    }
}

Main.java

@SpringBootApplication
@ServletComponentScan
@EnableAspectJAutoProxy(proxyTargetClass = true)
public class Main
{

    public static void main(String[] args)
    {
        SpringApplication.run(Main.class, args);
    }
}

Build.gradle

compile group: 'org.springframework', name: 'spring-aop', version: '5.1.9.RELEASE'
compile group: 'org.aspectj', name: 'aspectjweaver', version: '1.9.4'
compile group: 'org.aspectj', name: 'aspectjrt', version: '1.9.4'

Я ожидаю, что сообщение аспекта будет напечатано, но оно не работает

...