2. About the Geronimo Quartz Plugins

The Quartz integration is available as three components: the embedded scheduler, the deployable jobs, and the Quartz console. These components build on each other, so you can use the embedded scheduler alone, the scheduler with deployable jobs, or all three components together.

If you use the embedded scheduler alone, this initializes a Quartz Scheduler integrated into the Geronimo environment. Other applications or components running in Geronimo can access this Scheduler by using a GBean reference, or by asking the Quartz SchedulerFactory for available schedulers. To deploy and manage jobs in this scenario, you'll normally just deal with the Quartz Scheduler.

The deployable jobs plugin lets you deploy single jobs or groups of jobs as Geronimo deployment components. There is no difference to the code for a job, this just provides the packaging allowing you to create a JAR with the code for the jobs and the schedule for the jobs and then deploy, start, stop, and undeploy the job using the standard Geronimo deployment tools. In addition, jobs deployed in this way can be configured with access to Geronimo resources (database pools, JMS connections, JavaMail sessions, etc.), EJBs deployed in Geronimo, or other Geronimo components (GBeans). These resources are handled via dependency injection, so the job class must include a setter method (e.g. setMyDatabasePool(DataSource ds)) and that setter will be called before the job is executed.

The Quartz console plugin provides access to any jobs deployed using the deployable jobs plugin. It lets you view the job schedule (including previous and next execution times), start and stop these jobs, change the schedule for a job, run a job immediately, change any resources assigned to the job, etc. The console plugin does not show jobs deployed using native Scheduler access, only jobs deployed using the deployable job format.