春季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