春季AOP建议被称为两次
出于某种原因,我的Spring AOP建议被调用两次。 我检查了:
Spring AOP的建议被调用了两次,但我没有使用Component注解,并且声明了一次aspect bean并用@Aspect注释它,就是这样。
有些迟来,我意识到我的一个类没有实现一个接口,这导致了CGLIB2的要求。 我解决了这个问题,CGLIB2问题消失了,但双重调用依然存在。
编辑:
忘了提及我检查了,并且建议的方法不会被调用两次。
第二编辑:
我用@Aspect声明一个类,然后在应用程序上下文中声明它为一个bean。 XML文件中没有建议或切入点。
第3次编辑:
另外值得注意的是,我记录了执行该方法之前和之后建议的Around:
log.info("before");
pjp.proceed();
log.info("after");
我看到的是:
before
before
after
after
这真的很奇怪。
这种情况发生在我设置的@Before和@Around建议中。 我还没有尝试其他类型。
以下是切入点声明,其中包含更改的名称:
@Around("execution(public java.util.List<java.lang.String> pac.age.names.myDAO.doSomething(java.lang.String, java.lang.String))")
有任何想法吗?
谢谢,
浮潜
那么,这似乎是记录器的问题。 今天早上我检查了一下,发现一切都被记录了两次。 当我用普通的sysout调用替换记录器调用时,一切正常。
链接地址: http://www.djcxy.com/p/77247.html上一篇: Spring AOP Advice Called Twice
下一篇: Spring, Aspect J, multiple AfterThrowing advice applied to the same pointcut