在@Scheduled中获取fixedDelay值

时间:2015-07-06 18:32:36

标签: java spring scheduled-tasks

是否可以在正在执行的方法中获取fixedDelay的值?

是否存在这样的事情:

@Scheduled(fixedDelay = 86400000) //one day
public void sendEmails() {
    System.out.println(TaskExecutor.getCurrentFixedDelay()); // (would print 86400000)
}

1 个答案:

答案 0 :(得分:0)

    public class AnnotationParameter {

        @Scheduled(fixedDelay = 86400000) //one day
        public void sendEmails() throws NoSuchMethodException
        {
            Method method = AnnotationParameter.class.getDeclaredMethod
                ("sendEmails");
            Scheduled annotation = method.getAnnotation(Scheduled.class);
            long fixedDelay = annotation.fixedDelay();
            System.out.println(fixedDelay); // (would print 86400000)
        }

        public static void main(String[] args) throws NoSuchMethodException
        {
            new AnnotationParameter().sendEmails();
        }
    }