[Logo] Terracotta Discussion Forums
  [Search] Search   [Recent Topics] Recent Topics   [Members]  Member Listing   [Groups] Back to home page 
[Register] Register / 
[Login] Login 
[Expert]
Quartz with couple of jobs but only one running  XML
Forum Index -> Quartz
Author Message
okomba

journeyman

Joined: 10/22/2011 06:57:08
Messages: 12
Offline

Hello.

I have quartz schedule with couple of jobs but only one (1st one) is running. Even if I try to force the second job to run it doesn't.

Code:
    // The Quartz Scheduler
         Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
 
 
         JobDetailImpl jobDetail = new JobDetailImpl();
         jobDetail.setJobClass(SchedulerJob.class);
         jobDetail.setName("4HR");
         jobDetail.setGroup("G");
 
         // Initiate CronTrigger with its name and group name
         CronTriggerImpl cronTrigger = new CronTriggerImpl();
         cronTrigger.setName("4HR");
         cronTrigger.setGroup("G");
 
         // setup CronExpression
         String CRON_EXPRESSION = "0 0 0/4 * * ?"; // fire every 4 hours
         CronExpression cexp = new CronExpression(CRON_EXPRESSION);
 
         // Assign the CronExpression to CronTrigger
         cronTrigger.setCronExpression(cexp);
 
         // schedule a job with JobDetail and Trigger
         scheduler.scheduleJob(jobDetail, cronTrigger);
 
 
 
         JobDetailImpl oneHRJob = new JobDetailImpl();
         oneHRJob.setJobClass(Run1HRSchdule.class);
         oneHRJob.setName("Job1HR");
         oneHRJob.setGroup("G");
 
         CronTriggerImpl oneHRTrigger = new CronTriggerImpl();
         oneHRTrigger.setName("Trigger1HR");
         oneHRTrigger.setGroup("G");
 
 
         // Assign the CronExpression to CronTrigger
         String CRON_EXPRESSION_1HR = "0 0 0/1 * * ?"; // fire every 1 hour
         oneHRTrigger.setCronExpression( new CronExpression(CRON_EXPRESSION_1HR) );
 
         // schedule a job with JobDetail and Trigger
         scheduler.scheduleJob(oneHRJob, oneHRTrigger);
 
         // start the scheduler
         System.out.println ("Starting Scheduler");
 
         scheduler.start();
 
         System.out.println ("Scheduler started:" + scheduler.isStarted() );
 
         scheduler.triggerJob( oneHRJob.getKey() );


I have tried changing the cron expression but hasn't helped. I also have tried to add log statements but since the job is not being executed there are no log messages produced

What could I be doing wrong?

Thanks in advance.

Mugoma.
adahanne

master

Joined: 03/20/2012 23:14:46
Messages: 78
Offline

Hello,
I copied/pasted your code in a unit test (using seconds instead of hours in the cron expressions and using 2 different sample job classes), using those properties for quartz.properties :
Code:
 org.quartz.scheduler.instanceName: TestScheduler
 org.quartz.scheduler.instanceId: AUTO
 org.quartz.scheduler.skipUpdateCheck: true
 org.quartz.threadPool.class: org.quartz.simpl.SimpleThreadPool
 org.quartz.threadPool.threadCount: 3
 org.quartz.threadPool.threadPriority: 5
 org.quartz.jobStore.misfireThreshold: 60000
 org.quartz.jobStore.class: org.quartz.simpl.RAMJobStore
 

and I got the expected output (using quartz 2.2) (sleeping for 10 seconds right after the scheduler.triggerJob( oneHRJob.getKey() );)

Code:
 [INFO] 30 Jul 09:14:58.685 AM main [org.quartz.impl.StdSchedulerFactory]
 Quartz scheduler 'TestScheduler' initialized from default resource file in Quartz package: 'quartz.properties'
 
 [INFO] 30 Jul 09:14:58.685 AM main [org.quartz.impl.StdSchedulerFactory]
 Quartz scheduler version: 2.2.0-SNAPSHOT
 
 Starting Scheduler
 [INFO] 30 Jul 09:14:58.700 AM main [org.quartz.core.QuartzScheduler]
 Scheduler TestScheduler_$_NON_CLUSTERED started.
 
 Scheduler started:true
 [INFO] 30 Jul 09:14:58.720 AM TestScheduler_Worker-1 [org.quartz.jobs.sample.HelloJob2]
 Hello World! - Mon Jul 30 09:14:58 EDT 2012
 
 [INFO] 30 Jul 09:14:58.721 AM TestScheduler_Worker-2 [org.quartz.jobs.sample.HelloJob2]
 Hello World! - Mon Jul 30 09:14:58 EDT 2012
 
 [INFO] 30 Jul 09:14:59.002 AM TestScheduler_Worker-3 [org.quartz.jobs.sample.HelloJob2]
 Hello World! - Mon Jul 30 09:14:59 EDT 2012
 
 [INFO] 30 Jul 09:15:00.003 AM TestScheduler_Worker-1 [org.quartz.jobs.sample.HelloJob]
 Hello World! - Mon Jul 30 09:15:00 EDT 2012
 
 [INFO] 30 Jul 09:15:00.003 AM TestScheduler_Worker-2 [org.quartz.jobs.sample.HelloJob2]
 Hello World! - Mon Jul 30 09:15:00 EDT 2012
 
 [INFO] 30 Jul 09:15:01.001 AM TestScheduler_Worker-3 [org.quartz.jobs.sample.HelloJob2]
 Hello World! - Mon Jul 30 09:15:01 EDT 2012
 
 [INFO] 30 Jul 09:15:02.001 AM TestScheduler_Worker-1 [org.quartz.jobs.sample.HelloJob2]
 Hello World! - Mon Jul 30 09:15:02 EDT 2012
 
 [INFO] 30 Jul 09:15:03.002 AM TestScheduler_Worker-2 [org.quartz.jobs.sample.HelloJob2]
 Hello World! - Mon Jul 30 09:15:03 EDT 2012
 
 [INFO] 30 Jul 09:15:04.002 AM TestScheduler_Worker-3 [org.quartz.jobs.sample.HelloJob]
 Hello World! - Mon Jul 30 09:15:04 EDT 2012
 
 [INFO] 30 Jul 09:15:04.003 AM TestScheduler_Worker-1 [org.quartz.jobs.sample.HelloJob2]
 Hello World! - Mon Jul 30 09:15:04 EDT 2012
 
 [INFO] 30 Jul 09:15:05.002 AM TestScheduler_Worker-2 [org.quartz.jobs.sample.HelloJob2]
 Hello World! - Mon Jul 30 09:15:05 EDT 2012
 
 [INFO] 30 Jul 09:15:06.001 AM TestScheduler_Worker-3 [org.quartz.jobs.sample.HelloJob2]
 Hello World! - Mon Jul 30 09:15:06 EDT 2012
 
 [INFO] 30 Jul 09:15:07.002 AM TestScheduler_Worker-1 [org.quartz.jobs.sample.HelloJob2]
 Hello World! - Mon Jul 30 09:15:07 EDT 2012
 
 [INFO] 30 Jul 09:15:08.002 AM TestScheduler_Worker-2 [org.quartz.jobs.sample.HelloJob]
 Hello World! - Mon Jul 30 09:15:08 EDT 2012
 
 [INFO] 30 Jul 09:15:08.003 AM TestScheduler_Worker-3 [org.quartz.jobs.sample.HelloJob2]
 Hello World! - Mon Jul 30 09:15:08 EDT 2012


Can you please provide us with a sample project that can reproduce your issue ?

PS : this question is also posted on StackOverflow : http://stackoverflow.com/questions/11714410/quartz-with-couple-of-jobs-but-only-one-running
okomba

journeyman

Joined: 10/22/2011 06:57:08
Messages: 12
Offline

I found where the problem was. Run1HRSchdule had been implemented as an inner class. After changing it to normal class it works.

Thanks.
 
Forum Index -> Quartz
Go to:   
Powered by JForum 2.1.7 © JForum Team