java - Pointcut for methods with @Scheduled Spring annotation -


i want have aspectj pointcut methods annotated @scheduled. tried different approaches nothing worked.

1.)

@pointcut("execution(@org.springframework.scheduling.annotation.scheduled * * (..))") public void scheduledjobs() {}  @around("scheduledjobs()") public object profilescheduledjobs(proceedingjoinpoint joinpoint) throws throwable {     log.info("testing") } 

2.)

@pointcut("within(@org.springframework.scheduling.annotation.scheduled *)") public void scheduledjobs() {}  @pointcut("execution(public * *(..))") public void publicmethod() {}  @around("scheduledjobs() && publicmethod()") public object profilescheduledjobs(proceedingjoinpoint joinpoint) throws throwable {     log.info("testing") } 

can suggest other way have around/before advice on @scheduled annotated methods?

the pointcut looking can specified below:

@aspect public class someclass {      @around("@annotation(org.springframework.scheduling.annotation.scheduled)")     public void doit(proceedingjoinpoint pjp) throws throwable {         system.out.println("before");         pjp.proceed();         system.out.println("after");     } } 

i not sure whether that's require or not. i'm going post other parts of solution well.

first of all, notice @aspect annotation on class. required methods in class applied advice.

also, need make sure class has @scheduled method detectable via scanning. can annotation class @component annotation. ex:

@component public class otherclass {     @scheduled(fixeddelay = 5000)     public void dosomething() {         system.out.println("scheduled execution");     } } 

now, work, required parts in spring configuration follows:

<context:component-scan base-package="com.example.mvc" /> <aop:aspectj-autoproxy />   <!-- @aspect work -->     <task:annotation-driven />  <!-- @scheduled work --> 

Comments