User:CrypticCookie/Quartz (OpenSymphony)

Quartz is a full-featured, open source job scheduling service that can be integrated with Java EE or Java SE application. Quartz can be used to create simple or complex schedules for executing tens, hundreds, or even tens-of-thousands of jobs; jobs whose tasks are defined as standard Java components that may executed virtually anything you may program them to do. The Quartz Scheduler includes many enterprise-class features, such as JTA transactions and clustering.

Jobs and Triggers

The two fundamental units of Quartz's scheduling package are jobs and triggers.

A job is an executable task that can be scheduled, while a trigger provides a schedule for a job. Jobs can be any Java class that implements the simple Job interface. Triggers can be created with nearly any combination of -
 * at a certain time of day (to the millisecond)
 * on certain days of the week
 * on certain days of the month
 * on certain days of the year
 * not on certain days listed within a registered Calendar (such as business holidays)
 * repeated a specific number of times
 * repeated until a specific time/date
 * repeated indefinitely
 * repeated with a delay interval

By keeping the work to be performed separate from its scheduling, Quartz allows you to change the scheduled trigger for a job without losing the job itself, or the context around it. A singular job can have many triggers associated with it.

External links

Quartz Scheduler - Official Web Site

Java Ranch Quartz Article

The Server Side Quartz Article

IBM Developer Works Quartz Article