2010-09-01 6 views
2

En travaillant avec Java Quartz, j'ai pu planifier un travail. Puis j'ai essayé quelque chose comme le code suivant pour pouvoir ajouter un autre travail. Maintenant, aucun ne semble déclencher à l'heure définie. Qu'est-ce que je fais mal?Travail à quartz non exécuté

Je veux utiliser l'approche comme suit, pas la configuration XML.

scheduler = StdSchedulerFactory.getDefaultScheduler(); 


    JobDetail jobFull = new JobDetail("job1", "group1", IntegrationJobFull.class); 
    JobDetail jobPartial = new JobDetail("job2", "group1", IntegrationJobPartial.class); 

    CronTrigger triggerFull = new CronTrigger("trigger1", "group1", "job1", "group1", "0 15 3 * * ?"); 
    CronTrigger triggerPartial = new CronTrigger("trigger2", "group1", "job2", "group1", "* 0,30 * * * ?"); 

    scheduler.addJob(jobFull, false); 
    scheduler.addJob(jobPartial, false); 

    scheduler.scheduleJob(triggerFull); 
    scheduler.scheduleJob(triggerPartial); 

    scheduler.start(); 

Répondre

1

Les JobDetail s créés ci-dessus ne sont pas durables, cela signifie que la méthode addJob échouera. Utilisez la méthode scheduleJob surchargée pour associer le travail et le déclencheur.

Retirez les addJob et scheduleJob appels et les remplacer par:

scheduler.scheduleJob(jobFull, triggerFull); 
scheduler.scheduleJob(jobPartial, triggerPartial); 

également * a été le champ spécifiées secondes pour trigger2. Cela signifie que le travail sera déclenché toutes les secondes pendant les minutes spécifiées. Je ne suis pas sûr si c'était l'intention.

L'expression cron souhaitée peut être:

"0 0,30 * * * ?" 
Questions connexes