我有一个场景,我需要使用石英来安排一个工作,该工作从用户指定的日期开始每周触发,这应该会持续一年。 通过Cron Schedule示例后,我认为下面的cron表达式可能对我有所帮助: 例如。如果指定的日期是31-10-2015,则表达式为:
" 0 30 20 31/7 10-10? 2015-2016"这意味着从3015年10月31日开始,每7天触发1年,即。至2016年10月31日。
如果此表达式存在任何问题,请与我们联系。 感谢.....
答案 0 :(得分:0)
即使我有相同的要求,我实施如下
我们可以从开始日期开始每七天运行一次,七天转换为小时,价值为168
JobDataMap jobDataMap = new JobDataMap();
jobDataMap.put("json", json);
String startDateStr = "2017-06-21 00:00:00.0";
Date startDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S").parse(startDateStr);
String endDateStr = "2018-06-21 00:00:00.0";
Date endDate = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S").parse(endDateStr);
JobDetail job = newJob(SimpleJob.class).withIdentity(name, "group1").build();
Trigger trigger = TriggerBuilder.newTrigger()
.startAt(startDate)
.withSchedule(
SimpleScheduleBuilder.simpleSchedule().withIntervalInHours(168).repeatForever())
.endAt(endDate)
.usingJobData(jobDataMap)
.build();
sched.scheduleJob(job, trigger);
sched.start();
希望它有所帮助!!