Monday 24 July 2023

Quartz : Trigger Listeners and Jobs

In the context of quartz scheduler, a listener is an interface that you can implement to receive notifications about various events that occur during the scheduling and execution of jobs and triggers. Listeners provide a way to monitor and react to specific events within the quartz scheduler framework. There are several types of listeners available in quartz, such as job listeners, trigger listeners, and scheduler listeners.

Here's an overview of each type of listener and how to use them in java:

Job listener:

Joblistener interface is used to receive notifications related to job execution.
You can implement the joblistener interface to define custom behavior when jobs are about to be executed, have been executed, or were not executed.

The main methods in the joblistener interface are:
1. jobtobeexecuted(jobexecutioncontext context): called before a job's execute method is invoked.
2. Jobwasexecuted(jobexecutioncontext context, jobexecutionexception jobexception): called after a job has been executed.
3. Jobexecutionvetoed(jobexecutioncontext context): called if a trigger has vetoed the execution of a job (e. G. , misfire handling).
Trigger listener:

triggerlistener interface is used to receive notifications related to trigger events.
You can implement the triggerlistener interface to customize the behavior when triggers are about to be fired, have been fired, or misfired (i. E. , not fired as scheduled).
The main methods in the triggerlistener interface are:
triggerfired(trigger trigger, jobexecutioncontext context): called when a trigger has fired.
Triggermisfired(trigger trigger): called when a trigger has misfired (e. G. , skipped or delayed).
Triggercomplete(trigger trigger, jobexecutioncontext context, trigger. Completedexecutioninstruction triggerinstructioncode): called when a trigger has completed its firing.
Scheduler listener:

schedulerlistener interface is used to receive notifications related to the scheduler lifecycle and its events.
You can implement the schedulerlistener interface to perform actions when the scheduler is started, paused, resumed, or shut down.
The main methods in the schedulerlistener interface are:
schedulerstarted(): called when the scheduler has been started.
Schedulerpaused(): called when the scheduler has been paused.
Schedulerresumed(): called when the scheduler has been resumed after being paused.
Schedulershutdown(): called when the scheduler is shutting down.
To use these listeners in your java application with quartz scheduler:

implement the desired listener interface(s) by creating a class that provides the required behavior for each listener method.

Register the listener(s) with the scheduler:

Java
scheduler scheduler = // obtain the scheduler instance
joblistener joblistener = new yourjoblistener(); // replace yourjoblistener with your implementation
scheduler. Getlistenermanager(). Addjoblistener(joblistener);

triggerlistener triggerlistener = new yourtriggerlistener(); // replace yourtriggerlistener with your implementation
scheduler. Getlistenermanager(). Addtriggerlistener(triggerlistener);
now, whenever the corresponding events occur, your listener's methods will be invoked automatically by the quartz scheduler.

By using listeners in quartz, you can easily customize the behavior of your scheduled jobs and triggers, monitor their execution, and perform actions based on various events in the scheduler's lifecycle.

0 comments:

Post a Comment