Package org.quartz.listeners
Class JobChainingJobListener
- java.lang.Object
-
- org.quartz.listeners.JobListenerSupport
-
- org.quartz.listeners.JobChainingJobListener
-
- All Implemented Interfaces:
JobListener
public class JobChainingJobListener extends JobListenerSupport
Keeps a collection of mappings of which Job to trigger after the completion of a given job. If this listener is notified of a job completing that has a mapping, then it will then attempt to trigger the follow-up job. This achieves "job chaining", or a "poor man's workflow".Generally an instance of this listener would be registered as a global job listener, rather than being registered directly to a given job.
If for some reason there is a failure creating the trigger for the follow-up job (which would generally only be caused by a rare serious failure in the system, or the non-existence of the follow-up job), an error messsage is logged, but no other action is taken. If you need more rigorous handling of the error, consider scheduling the triggering of the flow-up job within your job itself.
- Author:
- James House (jhouse AT revolition DOT net)
-
-
Constructor Summary
Constructors Constructor Description JobChainingJobListener(java.lang.String name)
Construct an instance with the given name.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addJobChainLink(JobKey firstJob, JobKey secondJob)
Add a chain mapping - when the Job identified by the first key completes the job identified by the second key will be triggered.java.lang.String
getName()
Get the name of theJobListener
.void
jobWasExecuted(JobExecutionContext context, JobExecutionException jobException)
-
Methods inherited from class org.quartz.listeners.JobListenerSupport
getLog, jobExecutionVetoed, jobToBeExecuted
-
-
-
-
Method Detail
-
getName
public java.lang.String getName()
Description copied from interface:JobListener
Get the name of the
JobListener
.
-
addJobChainLink
public void addJobChainLink(JobKey firstJob, JobKey secondJob)
Add a chain mapping - when the Job identified by the first key completes the job identified by the second key will be triggered.- Parameters:
firstJob
- a JobKey with the name and group of the first jobsecondJob
- a JobKey with the name and group of the follow-up job
-
jobWasExecuted
public void jobWasExecuted(JobExecutionContext context, JobExecutionException jobException)
Description copied from interface:JobListener
Called by the
after aScheduler
has been executed, and be for the associatedJobDetail
Trigger
'striggered(xx)
method has been called.- Specified by:
jobWasExecuted
in interfaceJobListener
- Overrides:
jobWasExecuted
in classJobListenerSupport
-
-