KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > oddjob > quartz > RunnableQuartzJob


1 /*
2  * (c) Rob Gordon 2005
3  */

4 package org.oddjob.quartz;
5
6 import org.quartz.Job;
7 import org.quartz.JobDataMap;
8 import org.quartz.JobDetail;
9 import org.quartz.JobExecutionContext;
10 import org.quartz.JobExecutionException;
11
12 /**
13  * Wrap a Runnable object up as a Quartz Job. The job to run is passed through
14  * as part of the ODDJOB_DATA in the Quartz JobDataMap.
15  *
16  * @author Rob Gordon.
17  */

18 public class RunnableQuartzJob implements Job {
19     
20     /* (non-Javadoc)
21      * @see org.quartz.Job#execute(org.quartz.JobExecutionContext)
22      */

23     public void execute(JobExecutionContext context)
24             throws JobExecutionException {
25         JobDetail jobDetail = context.getJobDetail();
26         JobDataMap jobDataMap = jobDetail.getJobDataMap();
27         OddjobData ojd = (OddjobData) jobDataMap.get(OddjobData.ODDJOB_DATA);
28         Runnable JavaDoc runnable = (Runnable JavaDoc) ojd.getJob();
29         if (runnable == null) {
30             throw new IllegalStateException JavaDoc("Nothing to Run in data map!");
31         }
32         runnable.run();
33     }
34 }
35
Popular Tags