0

我想根据指定的时区安排 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()));

提前谢谢..

4

0 回答 0