I have a method in an @Aspect
service method called logChangesAndAnnounceNewContributions
that fires whenever somewhere in the webapp the save method of Spring-data's JpaRepository
is called. I don't want the logChanges method to be called when the save method is used within the Aspect class itself, so i used this in the pointcut definition !within(Services.SystemListenerService)
. But its not having any effect! The save method is still being called despite using this condition in the definition. The full definition looks like this:
@AfterReturning("execution(* org.springframework.data.jpa.repository.JpaRepository.save(..))" +
"&& !within(Services.SystemListenerService) && args(entity)")
private void logChangesAndAnnounceNewContributions(Object entity){
What am i missing here?
EDIT: I tried changing !within content to !within(@org.aspectj.lang.annotation.Aspect *)
but that doesn't work either..