Time Management Made Easy with the Quartz Enterprise Job Scheduler
by Benoy Jose
One of most important functions in any application is the task of cleaning up the unwanted debris left from running applications. This could be log files, temp tables in a database, clogged connections, or log trails of transactions. These types of files can grow very quickly and if they're not managed properly, they can cause serious damage to your system. To do these most tasks Most system administrators usually schedule unix korn or windows batch jobs to run at pre-determined times to perform these cleanup tasks. One of the biggest drawbacks of these programs is that they are run independently and are usually non-J2EE programs. This means that J2EE applications have no control over the scheduling, monitoring, and executing of these jobs. The upstream application has no direct way of knowing the status of a cleanup job, so it's unable to take the appropriate corrective action.
Thankfully, Quartz provides a simple Java API, written entirely in Java, that allows you to schedule, monitor, and execute these jobs directly from your upstream application.
Notable Features
- The ability to run in different runtime environments like application servers, servlet containers, clusters of standalone programs, etc.
- The ability to schedule tasks for a specific time or at a specific time interval. You can also configure tasks not to run at a specific time.
- Allows you to organize triggers as groups in the scheduler.
- Allows you to associate multiple jobs with the same trigger.
- Includes event handlers to demarcate start and finish points of a triggered job.
- Allows for configuration to automatically re-trigger a job if it fails.
- Allows you to configure jobs to participate in JTA transactions.
- Allows you to store jobs and triggers in a database, file, or cache them in memory.
- Supports fail-over and load balancing.
- Provides listener support to monitor scheduled jobs from any application.
Installation and Configuration
Quartz is a Java API and thus, can be used in J2SE and J2EE projects directly as an application module. To begin, just include the required .jar files into the project's classpath and you are ready to go. All the required .jar files come with the Quartz distribution download (check the lib folder of the distribution). The bare minimum .jar files required to run Quartz are Quartz.jar and commons-logging.jar. The other files included in the download are supporting libraries supporting additional functions.
Quartz is highly configurable: it allows you to modify the properties of the Scheduler using properties file. The Scheduler first looks for a quartz.properties file in the current directory or any folder in the classpath. If it finds one, it starts up with the properties specified in the properties file. Otherwise, it uses the default quartz.properties file. The quartz.properties file allows you to configure which default Scheduler will be used, the number of threads the Scheduler can start, properties about jobs, properties about triggers, information about JobStores, the priority of the threads being instantiated, etc.
New on the Java Boutique:
New Review:
Time Management Made Easy with the Quartz Enterprise Job Scheduler
Why not just use the Java timer API? This open source scheduling
API boasts simplicity, ease-of-integration, a well-rounded feature
set, and it's free!
New Applet:
Reverse Complement
Reverse Complement is a simple applet that converts DNA or RNA
sequences into three useful formats.
Elsewhere on internet.com:
WebDeveloper Java
Lots of Java information on webdeveloper.com
WDVL Java
Thorough Java resource at the Web Developer's Virtual Library.
ScriptSearch Java
Hundreds of free Java code files to download.
jGuru: Your View of the Java Universe
Customizable portal with online training, FAQs, regular news updates, and tutorials.
|