Выражение 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() {
            ...
        }

Я пробовал с вышеуказанным pointcut один за другим. Но АОП не работает, когда кварц вызывает метод. Может кто-нибудь, пожалуйста, помогите.


person abhijit nag    schedule 26.07.2013    source источник
comment
Два примечания: Spring имеет аннотацию @Scheduled. Это определение, а не определение. Ваш аннотированный объект управляется весной?   -  person Sotirios Delimanolis    schedule 26.07.2013
comment
Нет, этот аннотированный объект является нашей собственной реализацией.   -  person abhijit nag    schedule 26.07.2013
comment
Я имел в виду, контролирует ли Spring жизненный цикл объекта? Он его создает? Для этого необходимо создать прокси.   -  person Sotirios Delimanolis    schedule 26.07.2013
comment
@Sotirios Delimanolis: извините за задержку с ответом. Журнал предполагает, что Spring контролирует жизненный цикл этого bean-компонента, а также создает прокси, но не применяет никаких рекомендаций по этому методу. .. Некоторые снимки журнала AnnotationAwareAspectJAutoProxyCreator — создание неявного прокси-сервера для bean-компонента «jobDefination» с 0 общими перехватчиками и 5 конкретными перехватчиками....... Cglib2AopProxy — невозможно применить какие-либо оптимизации к рекомендованному методу: public void com.job.defination. JobDefination.removeHistory()   -  person abhijit nag    schedule 30.07.2013


Ответы (1)


Вы должны убедиться, что задания кварца создаются в контексте весны. Здесь уже есть вопрос, посвященный этой теме: работа с Quartz весной?

person 0x7d7b    schedule 29.08.2013