Quartz is a full-featured, open source job scheduling system that can be integrated with, or used along side virtually any J2EE or J2SE application - from the smallest stand-alone application to the largest e-commerce system. 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 or EJBs. The Quartz Scheduler includes many enterprise-class features, such as JTA transactions and clustering.
Quartz is freely usable, licensed under the Apache 2.0 license.
Alpha release of Quartz 1.6 available. Find it in the downloads area.
Quartz 1.6 has many great new features and improvements. You can see the road map of changes in JIRA.
New book about Quartz available.
Quartz Job Scheduling Framework reveals how to make the most of Quartz with virtually any J2EE or J2SE application, from the smallest standalone program to the largest e-commerce system. Best-selling author Chuck Cavaness (Programming Jakarta Struts) shows developers and architects how to integrate Quartz with each leading open source Java framework, including Hibernate, Spring, and Struts. To find out more about this title and how to purchase, please visit: http://www.phptr.com/title/0131886703.
If your application has tasks that need to occur at given moments in time, or if your system has recurring maintenance jobs then Quartz may be your ideal solution.
Sample uses of job scheduling with Quartz:
Semi complete listing of Quartz features.
There are no known competing open source projects (there are a few schedulers, but they are basically Cron replacements written in Java).
Commercially, you may want to look at the Flux scheduler
.Quartz is in use by thousands of people, many of whom have directly embedded Quartz in their own applications, and others who are using products that already have Quartz embedded within them.
You can view a small listing of Quartz users here.