切入点表达式不适用于自定义注释

时间:2013-07-26 13:59:37

标签: java annotations spring-aop pointcut

我有自定义注释

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Scheduled {
    String cron() default "";
    .....

实施

@Named
public class JobDefination {
@Scheduled(concurrent = false, cron = "0 0/1 * * * ?")
    public void removeHistory(){
            .....
}

方面

@Aspect
@Component
public class AspectImple {
@Before("@annotation(com.quartzConfiguration.Scheduled)")
        public void beforeImplAnnotation() {
              ...
        }
@Before("execution(* com.job.defination.JobDefination.*()) && @annotation(com.quartzConfiguration.Scheduled)")
        public void beforeImpl2() {
            ...
        }

我一个接一个地试过上面的切入点。但是当石英调用该方法时AOP不工作。有人可以帮忙。

1 个答案:

答案 0 :(得分:0)

您需要确保在spring上下文中创建了quartz作业。这里已经有一个问题涉及该主题:inject bean reference into a Quartz job in Spring?