我想问一下我用quartz做一个定时任务。
希望在上次任务执行完成以后,在延迟5分钟开始执行。
如:
第一次在12:00:00开始执行行。用了3分钟,那么第二次执行时是在12:08:00开始执行。而不是在12:05:00开始执行
具体代码怎么写啊

解决方案 »

  1.   

    不知道你是否只需要2个执行任务的节点12:00:00,12:08:00 ; 
    假如是的话: 那么简单写2个schedule 方法 采用不同的cron如果是 连续的调用
    可以写一个schedule 方法里面调用该方法里面采用ScheduledExecutorService.scheduleAtFixRate
      

  2.   

    单独使用Quartz的话不清楚,Spring Task Scheduled的fixedDelay设置(注意不是fixedRate)就是在上一次任务结束后开始计时,支持JDK Timer和Quartz两种方式,你可以用Spring整合Quartz,再使用Spring提供的定时任务配置来指定fixedDelayhttps://docs.spring.io/spring/docs/5.2.0.RELEASE/spring-framework-reference/integration.html#scheduling
      

  3.   


    貌似@Scheduled注解的配置对Quartz无效