我想根据指定的时区安排cron作业。它将首次点火,但下次不会按照指定的时区点火,而是根据系统的时间点火。
Trigger trigger = TriggerBuilder.newTrigger().withDescription(jobPojo.getDescription()).withIdentity(jobPojo.getTriggerName(), jobPojo.getTriggerGroup())
.withSchedule(CronScheduleBuilder.cronSchedule(jobPojo.getExpression().trim()).inTimeZone(TimeZone.getTimeZone(jobPojo.getTimeZone())).withMisfireHandlingInstructionIgnoreMisfires()).usingJobData(jobDataMap).forJob(jobKey).build();
//当我在json pojo中传递时区时,例如:jobPojo.getTimeZone()=“GMT + 4:00”,这是迪拜时区Id。我的系统在印度运行。 下面是我的提取代码:
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm:ss");
Trigger trigger = scheduler.getTrigger(triggerKey);
jobPojo.setNextFireTime(dateFormat.format(trigger.getNextFireTime()));
提前预订..