org.quartz.plugins.history
Class LoggingTriggerHistoryPlugin

java.lang.Object
  extended by org.quartz.plugins.history.LoggingTriggerHistoryPlugin
All Implemented Interfaces:
SchedulerPlugin, TriggerListener

public class LoggingTriggerHistoryPlugin
extends Object
implements SchedulerPlugin, TriggerListener

Logs a history of all trigger firings via the Jakarta Commons-Logging framework.

The logged message is customizable by setting one of the following message properties to a String that conforms to the syntax of java.util.MessageFormat.

TriggerFiredMessage - available message data are:

Element Data Type Description
0 String The Trigger's Name.
1 String The Trigger's Group.
2 Date The scheduled fire time.
3 Date The next scheduled fire time.
4 Date The actual fire time.
5 String The Job's name.
6 String The Job's group.
7 Integer The re-fire count from the JobExecutionContext.
The default message text is "Trigger {1}.{0} fired job {6}.{5} at: {4, date, HH:mm:ss MM/dd/yyyy}"

TriggerMisfiredMessage - available message data are:

Element Data Type Description
0 String The Trigger's Name.
1 String The Trigger's Group.
2 Date The scheduled fire time.
3 Date The next scheduled fire time.
4 Date The actual fire time. (the time the misfire was detected/handled)
5 String The Job's name.
6 String The Job's group.
The default message text is "Trigger {1}.{0} misfired job {6}.{5} at: {4, date, HH:mm:ss MM/dd/yyyy}. Should have fired at: {3, date, HH:mm:ss MM/dd/yyyy}"

TriggerCompleteMessage - available message data are:

Element Data Type Description
0 String The Trigger's Name.
1 String The Trigger's Group.
2 Date The scheduled fire time.
3 Date The next scheduled fire time.
4 Date The job completion time.
5 String The Job's name.
6 String The Job's group.
7 Integer The re-fire count from the JobExecutionContext.
8 Integer The trigger's resulting instruction code.
9 String A human-readable translation of the trigger's resulting instruction code.
The default message text is "Trigger {1}.{0} completed firing job {6}.{5} at {4, date, HH:mm:ss MM/dd/yyyy} with resulting trigger instruction code: {9}"

Author:
James House

Constructor Summary
LoggingTriggerHistoryPlugin()
           
 
Method Summary
protected  org.slf4j.Logger getLog()
           
 String getName()
           Get the name of the TriggerListener.
 String getTriggerCompleteMessage()
          Get the message that is printed upon the completion of a trigger's firing.
 String getTriggerFiredMessage()
          Get the message that is printed upon a trigger's firing.
 String getTriggerMisfiredMessage()
          Get the message that is printed upon a trigger's mis-firing.
 void initialize(String pname, Scheduler scheduler, ClassLoadHelper classLoadHelper)
           Called during creation of the Scheduler in order to give the SchedulerPlugin a chance to initialize.
 void setTriggerCompleteMessage(String triggerCompleteMessage)
          Set the message that is printed upon the completion of a trigger's firing.
 void setTriggerFiredMessage(String triggerFiredMessage)
          Set the message that is printed upon a trigger's firing.
 void setTriggerMisfiredMessage(String triggerMisfiredMessage)
          Set the message that is printed upon a trigger's firing.
 void shutdown()
           Called in order to inform the SchedulerPlugin that it should free up all of it's resources because the scheduler is shutting down.
 void start()
           Called when the associated Scheduler is started, in order to let the plug-in know it can now make calls into the scheduler if it needs to.
 void triggerComplete(Trigger trigger, JobExecutionContext context, Trigger.CompletedExecutionInstruction triggerInstructionCode)
           Called by the Scheduler when a Trigger has fired, it's associated JobDetail has been executed, and it's triggered(xx) method has been called.
 void triggerFired(Trigger trigger, JobExecutionContext context)
           Called by the Scheduler when a Trigger has fired, and it's associated JobDetail is about to be executed.
 void triggerMisfired(Trigger trigger)
           Called by the Scheduler when a Trigger has misfired.
 boolean vetoJobExecution(Trigger trigger, JobExecutionContext context)
           Called by the Scheduler when a Trigger has fired, and it's associated JobDetail is about to be executed.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LoggingTriggerHistoryPlugin

public LoggingTriggerHistoryPlugin()
Method Detail

getLog

protected org.slf4j.Logger getLog()

getTriggerCompleteMessage

public String getTriggerCompleteMessage()
Get the message that is printed upon the completion of a trigger's firing.

Returns:
String

getTriggerFiredMessage

public String getTriggerFiredMessage()
Get the message that is printed upon a trigger's firing.

Returns:
String

getTriggerMisfiredMessage

public String getTriggerMisfiredMessage()
Get the message that is printed upon a trigger's mis-firing.

Returns:
String

setTriggerCompleteMessage

public void setTriggerCompleteMessage(String triggerCompleteMessage)
Set the message that is printed upon the completion of a trigger's firing.

Parameters:
triggerCompleteMessage - String in java.text.MessageFormat syntax.

setTriggerFiredMessage

public void setTriggerFiredMessage(String triggerFiredMessage)
Set the message that is printed upon a trigger's firing.

Parameters:
triggerFiredMessage - String in java.text.MessageFormat syntax.

setTriggerMisfiredMessage

public void setTriggerMisfiredMessage(String triggerMisfiredMessage)
Set the message that is printed upon a trigger's firing.

Parameters:
triggerMisfiredMessage - String in java.text.MessageFormat syntax.

initialize

public void initialize(String pname,
                       Scheduler scheduler,
                       ClassLoadHelper classLoadHelper)
                throws SchedulerException

Called during creation of the Scheduler in order to give the SchedulerPlugin a chance to initialize.

Specified by:
initialize in interface SchedulerPlugin
Parameters:
pname - The name by which the plugin is identified.
scheduler - The scheduler to which the plugin is registered.
classLoadHelper - The classLoadHelper the SchedulerFactory is actually using
Throws:
SchedulerConfigException - if there is an error initializing.
SchedulerConfigException - if there is an error initializing.
SchedulerException

start

public void start()
Description copied from interface: SchedulerPlugin

Called when the associated Scheduler is started, in order to let the plug-in know it can now make calls into the scheduler if it needs to.

Specified by:
start in interface SchedulerPlugin

shutdown

public void shutdown()

Called in order to inform the SchedulerPlugin that it should free up all of it's resources because the scheduler is shutting down.

Specified by:
shutdown in interface SchedulerPlugin

getName

public String getName()
Description copied from interface: TriggerListener

Get the name of the TriggerListener.

Specified by:
getName in interface TriggerListener

triggerFired

public void triggerFired(Trigger trigger,
                         JobExecutionContext context)
Description copied from interface: TriggerListener

Called by the Scheduler when a Trigger has fired, and it's associated JobDetail is about to be executed.

It is called before the vetoJobExecution(..) method of this interface.

Specified by:
triggerFired in interface TriggerListener
Parameters:
trigger - The Trigger that has fired.
context - The JobExecutionContext that will be passed to the Job'sexecute(xx) method.

triggerMisfired

public void triggerMisfired(Trigger trigger)
Description copied from interface: TriggerListener

Called by the Scheduler when a Trigger has misfired.

Consideration should be given to how much time is spent in this method, as it will affect all triggers that are misfiring. If you have lots of triggers misfiring at once, it could be an issue it this method does a lot.

Specified by:
triggerMisfired in interface TriggerListener
Parameters:
trigger - The Trigger that has misfired.

triggerComplete

public void triggerComplete(Trigger trigger,
                            JobExecutionContext context,
                            Trigger.CompletedExecutionInstruction triggerInstructionCode)
Description copied from interface: TriggerListener

Called by the Scheduler when a Trigger has fired, it's associated JobDetail has been executed, and it's triggered(xx) method has been called.

Specified by:
triggerComplete in interface TriggerListener
Parameters:
trigger - The Trigger that was fired.
context - The JobExecutionContext that was passed to the Job'sexecute(xx) method.
triggerInstructionCode - the result of the call on the Trigger'striggered(xx) method.

vetoJobExecution

public boolean vetoJobExecution(Trigger trigger,
                                JobExecutionContext context)
Description copied from interface: TriggerListener

Called by the Scheduler when a Trigger has fired, and it's associated JobDetail is about to be executed. If the implementation vetos the execution (via returning true), the job's execute method will not be called.

It is called after the triggerFired(..) method of this interface.

Specified by:
vetoJobExecution in interface TriggerListener
Parameters:
trigger - The Trigger that has fired.
context - The JobExecutionContext that will be passed to the Job'sexecute(xx) method.


Copyright 2001-2015, Terracotta, Inc.