我在Spring-boot项目中使用AspectJ和AOP,以便创建一个外部库来记录某些活动。
虽然我已经配置了这个切入点:
@Before(value="getEventOnMessage()")
public void getEventOnMessage(JoinPoint joinPoint){
System.out.println("VOILA'");
}
方面
package com.tim.sdp.timLogging.Aspects.handler;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
@Configuration
@EnableAspectJAutoProxy
@ComponentScan(basePackages="org.springframework.amqp.rabbit.listener.adapter")
public class AppConfig {
@Bean()
public AspectForOnMessage myAspect() {
return new AspectForOnMessage();
}
}
未触发。
详细说明:
package com.tim.sdp.timLogging.Aspects.handler;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.stereotype.Component;
@Component
@Aspect
public class AspectForOnMessage {
@Pointcut("call(void org.springframework.amqp.rabbit.listener.adapter.MessageListenerAdapter.onMessage(Message,Channel))")
private void getEventOnMessage(){}
@Before(value="getEventOnMessage()")
public void getEventOnMessage(JoinPoint joinPoint){
System.out.println("VOILA'");
}
}
Aspect类实现:
mylogger.db:
alias: monolog.logger.db
public: true
你可以帮助我吗?这是我无法捕捉的唯一事件。 在这个论坛中,你可以找到另一个有同样问题的人:
提前谢谢。