2017-10-20 4 views
0

Lorsque je définis startDate et endDate sur Trigger, ChronSchedule appelle la méthode execute sur le travail une seule fois. Comme vous pouvez le voir, j'ai mis un peu d'impression sur le déclencheur pour obtenir la date de début et la date de fin. Il semble correct:Java - Quartz CronSchedule ne fonctionne pas avec la date de début et la date de fin

##########Fri Oct 20 16:00:00 CEST 2017 
##########Fri Oct 20 15:00:00 CEST 2017 

Dans la méthode d'exécution, je mets une impression:

public void execute(JobExecutionContext context) throws JobExecutionException 
    { 
     System.out.println("Executing job. The next: " + context.getNextFireTime()); 

    } 

mais le résultat est unconfortable:

Executing job. The next: null 

Que dois-je tort?

Répondre

0

Je ne connais pas CronsScheduler ou CronsTrigger, mais vous pouvez essayer de suivre à la place de CronScheduleBuilder.

import org.quartz. * Paquets.

JobDetail jobDetail = JobBuilder.newJob(MYJOB.class).withIdentity(jobName).withDescription("TryThis").build(); 

CalendarIntervalTriggerImpl trigger = new CalendarIntervalTriggerImpl("triggername", startTime, endTime, 
           DateBuilder.IntervalUnit.valueOf("MINUTE"), frequency); 

// Try to keep scheduler object as singultant object. 
// OR it'll also work fine if you start scheduler it multiple times with diffrebt scheduler object for JDBCJob store. 

SchedulerFactory sf = new StdSchedulerFactory(); 

Scheduler scheduler = sf.getScheduler(); 
scheduler.start(); 

scheduler.scheduleJob(jobDetail, trigger);