java - Spring AOP, pointcut expressions : annotation with specific param -


i have aspect class method clear().

@aspect   public class clear  {    @after("@annotation(org.springframework.transaction.annotation.transactional)")      public void clear()      {         // smth      } }   

now want call aspect after each execution of method annotation @transactional readonly = true

@transactional(readonly = true)   public void somemethod()   {     //...  }   

is there way without custom annotations?

i think quite close.

in clear method, should take in parameter of type joinpoint. parameter auto populated spring @ runtime, , it, can details of specific joinpoint, including java.lang.reflect.method, contain annotation after.

i thinking this:

@aspect   public class clear  {    @after("@annotation(org.springframework.transaction.annotation.transactional)")      public void clear(final joinpoint joinpoint)      {         final method method = ((methodsignature) joinpoint.getsignature()).getmethod();       final transactional txannotation = methood.getannotation(transactional.class);       final boolean isreadonly = txannotation.readonly();        //do conditional work based on isreadonly    } } 

Comments