У меня были проблемы с одной конкретной почасовой работой, которая не запускалась с помощью Quartz Scheduler.
В настоящее время могут выполняться все остальные задания, кроме часового.Эта ошибка возникает только тогда, когда я упаковываю программу в файл .jar и запускаю его на сервере Ubuntu с помощью экрана, однако при работе в моей локальной среде IDE триггер срабатывает правильно.
Любая помощь при отладке этоговопрос ценится.Спасибо!
Main.Java
public static void main(String[] args) throws Exception {
System.out.println("Aggregator Service Started");
JobDetail hourlyJob = JobBuilder.newJob(HourlyJob.class)
.withIdentity("HourlyJob", "group1").build();
JobDetail DailyJob = JobBuilder.newJob(Jobs.DailyJob.class)
.withIdentity("DailyJob", "group1").build();
JobDetail WeeklyJob = JobBuilder.newJob(Jobs.WeeklyJob.class)
.withIdentity("WeeklyJob", "group1").build();
JobDetail MonthlyJob = JobBuilder.newJob(Jobs.MonthtyJob.class)
.withIdentity("Monthly", "group1").build();
//Debugging trigger. Triggers the job instantly
Trigger trigger = TriggerBuilder.newTrigger()
.withIdentity("DailyJob", "group1")
.startNow()
.build();
Trigger hourlyTrigger = newTrigger()
.withIdentity("HourlyTrigger", "group1")
.withSchedule(cronSchedule("0 0 * ? * * *"))
.build();
Trigger dailyTrigger = newTrigger()
.withIdentity("DailyTrigger", "group2")
.withSchedule(cronSchedule("0 8 0 1/1 * ? *"))
.build();
Trigger monthlyTrigger = newTrigger()
.withIdentity("MonthlyTrigger", "group4")
.withSchedule(cronSchedule("0 0 1 1 1/1 ? *"))
.build();
// schedule it
Scheduler scheduler = new StdSchedulerFactory().getScheduler();
scheduler.start();
scheduler.scheduleJob(hourlyJob, hourlyTrigger);
scheduler.scheduleJob(DailyJob, dailyTrigger);
scheduler.scheduleJob(MonthlyJob, monthlyTrigger);
HourlyJob.java
public void execute(JobExecutionContext context)
throws JobExecutionException {
DateTime startDate = new DateTime()
.withMinuteOfHour(0)
.toDateTime(DateTimeZone.UTC)
.withSecondOfMinute(0);
DateTimeFormatter dtf = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss");
System.out.println("Hourly Job Started at " + startDate.plusHours(1));
openConnection();
// other work
}