我有以下方法來安排在不同時區和開始日期觸發的作業。使用startdate和timezone設置石英時間表
如果服務器的時區是亞洲/臺北,並計劃設置爲以下輸入:
triggerName="testTrigger",
jobName="testJob",
group="testGroup",
startDate = 2014-12-03 18:00:00
timezoneString = "Austrailia/Melbourne"
cronExp = 0 0/1 * 1/1 * ? *
應該什麼時候發射時間?
public void schedule(String triggerName, String jobName, String group, Date startDate, String timezoneString, String cronExp){
try {
JobDetail jobDetail = new JobDetail(jobName, group, MessageJob.class);
TimeZone timeZone = TimeZone.getTimeZone(timezoneString);
Date startDate = startDate;
Calendar cal1 = Calendar.getInstance();
cal1.setTime(startDate);
cal1.setTimeZone(timeZone);
startDate = cal1.getTime();
CronTrigger cronTrigger = new CronTrigger(triggerName, group, jobName, jobGroup, startDate, null, cronExp, timeZone);
scheduler.start();
} catch (ParseException e) {
System.out.println("ParseException issues " + e.getMessage());
}catch(IllegalArgumentException e){
System.out.println("IllegalArgumentException issues " + e.getMessage());
}
}