Привет, я использую планировщик кварца, чтобы вызвать cron, который должен выполнять множество действий. Мой код для того же выглядит следующим образом:Quartz scheduler не запускает задание cron
В методе Init() моего InitServlet класса, я определяю мой TimerServer
public class InitServlet extends HttpServlet {
public void init(ServletConfig config) throws ServletException {
try {
System.out.println("Starting the CRON");
//Set the DSO Handler CRON
TimerServer task = TimerServer.getInstance();
task.setTask();
} catch (Exception ex) {
System.out.println("Failed to start the cron");
ex.printStackTrace();
}
}
В моем классе TimerServer у меня есть следующие методы
public void setTask() {
try{
this.setSubscriptionDailyJob();
} catch(SchedulerException ex) {
log.error("SchedulerException: "+ex.getMessage(), ex);
}
private void setSubscriptionDailyJob() throws SchedulerException {
log.info("Step 1 ");
Scheduler scheduler = schedulerFactory.getScheduler();
log.info("Step 2 ");
JobDetail subscriptionJob = new JobDetail("subscription", "subscriptiongroup", SubscriptionDaily.class);
log.info("Step 3 ");
// Initiate CronTrigger with its name and group name
CronTrigger subscriptionCronTrigger = new CronTrigger("subscriptionCronTrigger", "subscriptionTriggerGroup");
try {
log.info("Subscription cron: "+Constants.SUBSCRIPTION_CRON);
// setup CronExpression
CronExpression cexp = new CronExpression(Constants.SUBSCRIPTION_CRON);
// Assign the CronExpression to CronTrigger
subscriptionCronTrigger.setCronExpression(cexp);
} catch (Exception ex) {
log.warn("Exception: "+ex.getMessage(), ex);
}
scheduler.scheduleJob(subscriptionJob, subscriptionCronTrigger);
scheduler.start();
}
В моем SubscriptionDaily классе:
public class SubscriptionDaily implements Job {
public void execute(JobExecutionContext arg0) throws JobExecutionException {
//Actions to be performed
}
}
сейчас проверяя мои журналы, я делаю шаг 1, шаг 2, но не дальше.
Мой код застревает в классе TimerServer. Журналы WRT для планировщика:
17:24:43 INFO [TimerServer]: Step 1
17:24:43 INFO [SimpleThreadPool]: Job execution threads will use class loader of thread: http-8080-1
17:24:43 INFO [SchedulerSignalerImpl]: Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl
17:24:43 INFO [QuartzScheduler]: Quartz Scheduler v.1.6.5 created.
17:24:43 INFO [RAMJobStore]: RAMJobStore initialized.
17:24:43 INFO [StdSchedulerFactory]: Quartz scheduler 'DefaultQuartzScheduler' initialized from default resource file in Quartz package: 'quartz.properties'
17:24:43 INFO [StdSchedulerFactory]: Quartz scheduler version: 1.6.5 17:24:43 INFO [TimerServer]: Step 2
Я думаю, что регистрационная запись отсутствует: [QuartzScheduler]: Планировщик DefaultQuartzScheduler _ $ _ NON_CLUSTERED начал.
Пожалуйста, помогите.