解决方案 »

  1.   

    这个网站只是教你如何写Cron表达式,但是没有“每天的00:10:00到08:20:00之间每隔两分钟执行一次任务”这样一个概念
      

  2.   

    要我的话,2中方案:
    第一种,拆成3个cron:0 10/2 0 * * ? 2014-2015       0 0/2 1-7 * * ? 2014-2015   0 0-20/2 8 * * ? 2014-2015
    第二种:0 0/2 0-8 * * ? 2014-2015 然后具体时间在后台代码里面控制下
      

  3.   

    时间比较,任务执行逻辑里面,当前时间在0点10分之前或者8点20之后就不执行业务逻辑好了
    谢谢回答,最后采用了你的第一种方案。采用多个触发器实行。JobDetail jobDetail = newJob(TemplateJob.class).withIdentity(new JobKey("templateJob_" + template.getTemplateID(), "template")).usingJobData(
                                new JobDataMap(params)).build();
    // 创建触发器,并将触发器加入到作业中
    sched.scheduleJob(jobDetail, newTrigger().withIdentity(new TriggerKey("between7and19_" + template.getTemplateID(), "template")).withSchedule(
    cronSchedule("0 10/2 0 * * ? 2014-2015")).forJob(jobDetail).build());
    sched.scheduleJob(newTrigger().withIdentity(new TriggerKey("between0and7_" + template.getTemplateID(), "template")).withSchedule(
    cronSchedule(" 0 0/2 1-7 * * ? 2014-2015")).forJob(jobDetail).build());
    sched.scheduleJob(newTrigger().withIdentity(new TriggerKey("between19and23_" + template.getTemplateID(), "template")).withSchedule(
    cronSchedule("0 0-20/2 8 * * ? 2014-2015")).forJob(jobDetail).build());