Spring AOP Advice Called Twice

Tags: , , ,

For some reason, my Spring AOP advices are being called twice. I checked:

  1. Spring AOP advice is called twice but I am not using the Component annotation, and am declaring the aspect bean once and annotating it with @Aspect and that’s it.

  2. Somewhat belatedly I realized that one of my classes was not implementing an interface yet, which caused CGLIB2 requirements. I fixed that, and the CGLIB2 problem went away, but the double invocation remains.


Forgot to mention that I checked, and the method being advised is not called twice.

2nd edit:

I declare a class with @Aspect, and then I declare it as a bean in the application context. There are no advices or pointcuts in the XML file.

3rd edit:

Also worth noting is that I log before and after the execution of the method being advised with Around:




What I see is:


Which is really weird.

This happens for both @Before and @Around advice that I have set up. I have yet to try the other types.

Here is the pointcut declaration, with changed names:

@Around("execution(public java.util.List<java.lang.String> pac.age.names.myDAO.doSomething(java.lang.String, java.lang.String))")

Any ideas?




Well, it seems like this is actually an issue with the logger. This morning I checked and found that everything is being logged twice. When I replaced logger calls with regular sysout calls, everything worked fine.

Source: stackoverflow