Creating a Fire-Now Trigger

Sometimes you need to execute a job immediately. For example, imagine that you're building a GUI that allows users to execute jobs right away. As another example, you might have detected that a job didn't complete successfully, so you want to rerun the job immediately. In Quartz 1.5, several methods were added to the triggerUtils class to make that easier. Listing 5.4 shows how to schedule a job to run only once, right away.

Listing 5.4. You Can Use the TRiggerUtils to Execute an Immediate Job

public class Listing_5_4 {
 static Log logger = LogFactory.getLog(Listing_5_4.class);

 public static void main(String[] args) {
 Listing_5_4 example = new Listing_5_4();
 example.runScheduler();
 }

 public void runScheduler() {
 Scheduler scheduler = null;

 try {
 // Create a default instance of the Scheduler
 scheduler = StdSchedulerFactory.getDefaultScheduler();
 scheduler.start();
 logger.info("Scheduler was started at " + new Date());

 // Create the JobDetail
 JobDetail jobDetail =
 new JobDetail("PrintInfoJob",
 Scheduler.DEFAULT_GROUP,
 PrintInfoJob.class);

 // Create a trigger that fires once right away
 Trigger trigger =
 TriggerUtils.makeImmediateTrigger(0, 0);


 trigger.setName("FireOnceNowTrigger");

 scheduler.scheduleJob(jobDetail, trigger);
 } catch (SchedulerException ex) {
 logger.error(ex);
 }
 }
}

In Listing 5.4, the makeImmediateTrigger() method of triggerUtils is used to execute an immediate job. The first parameter is the number of times the trigger will fire. The second parameter is the interval between the executions. The method signature is shown here for convenience:

public static Trigger
 makeImmediateTrigger(int repeatCount, long repeatInterval);

The TRiggerUtils class offers many convenience methods for simplifying the use of triggers. Be sure to check this utility class first to see if it has what you need. You'll see more examples of the triggerUtils class throughout the book.


Scheduling in the Enterprise

Getting Started with Quartz

Hello, Quartz

Scheduling Jobs

Cron Triggers and More

JobStores and Persistence

Implementing Quartz Listeners

Using Quartz Plug-Ins

Using Quartz Remotely

Using Quartz with J2EE

Clustering Quartz

Quartz Cookbook

Quartz and Web Applications

Using Quartz with Workflow

Appendix A. Quartz Configuration Reference



Quartz Job Scheduling Framework(c) Building Open Source Enterprise Applications
Quartz Job Scheduling Framework: Building Open Source Enterprise Applications
ISBN: 0131886703
EAN: 2147483647
Year: N/A
Pages: 148

Flylib.com © 2008-2020.
If you may any questions please contact us: flylib@qtcs.net