When using "around" advice, it's a good idea to remember two things: calling "org.aspectj.lang.ProceedingJoinPoint#proceed" - otherwise call won't reach target returning the result value (typed java.lang.Object) of that call - otherwise return value will never reach original caller

However, the following two conditions almost always indicate a coding error:

  • The signature for the "around" method does not have ProceedingJoinPoint as first argument: in such cases it's impossible for the call to reach the target
  • The signature for the "around" method does not have Object as return type: in such cases return value of target method is always lost.