title: How to exclude classes from triggering Aspect method call
body: <p>I have a method in an <code>@Aspect</code> service method called <code>logChangesAndAnnounceNewContributions</code> that fires whenever somewhere in the webapp the save method of Spring-data's <code>JpaRepository</code> 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  <code>!within(Services.SystemListenerService)</code>. 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:</p>
  
  <pre><code>@AfterReturning("execution(* org.springframework.data.jpa.repository.JpaRepository.save(..))" +
             "&amp;&amp; !within(Services.SystemListenerService) &amp;&amp; args(entity)")
      private void logChangesAndAnnounceNewContributions(Object entity){
  </code></pre>
  
  <p>What am i missing here?</p>
  
  <p>EDIT: I tried changing !within content to <code>!within(@org.aspectj.lang.annotation.Aspect *)</code> but that doesn't work either..</p>