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.
Quartz 1.5.0 is now available for download. Please look at the release notes, which includes a full change-list.
Chuck Cavaness is working on a book to be published about Quartz. Lucky for us, he's requesting our help reviewing the draft chapters to provide feedback. Find the downloadable chapters as they are posted.
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.