More About Simple Trigger

Simple trigger can be used to one shot execution or fire a
job and in other words, we can say that just a single execution of job to the
specified time. Sometimes, we wish to execute or fire a job at the specified
time that has till 'N' repetition times with delay between 'T' executions of jobs
that means if you need to have a job execute exactly once at a specific time, or
at a specific moment in time that is followed by repeats at a specified time
interval.
The SimpleTrigger properties contains: a
start-time and end-time, a repeat count and a repeat interval. The repeat count
properties can be zero, a positive integer or the constant value SimpleTrigger.REPEAT_INDEFINITELY.
The repeat interval property must be zero or a positive long value that
represents a number of milliseconds. The end-time property over-rides the repeat
count property that can be used for creating a trigger which fires every some
specified time (20 seconds). It has to compute the number of times that would be
repeated between the start-time and end-time, if we want to specify the end-time
then we can use a repeat count of REPEAT_INDEFINITELY.
We are going to implement a SimpleTrigger
constructor to following types:
public SimpleTrigger(String name, String group, Date
startTime, Date endTime, int repeatCount, long repeatInterval);
This is the constructor of java.org.quartz.SimpleTrigger
class. Which fires or executes at the
specified time and repeat at the specified number of times. It takes following
arguments like this:
name: This is the name of Simple Trigger.
group: This
is the name of scheduler group.
startTime:
This is the time for firing or executing the Trigger.
endTime: This
is the time for the Trigger to drop repeat firing or executing.
repeatCount: This
is the number of repeat firing or executing the Trigger by using the REPEAT_INDEFINITELY
for no any foundation of time.
repeatInterval: This is the time (milliseconds) for stopping or pausing
the repeat firing.
There are following examples for implementing the
SimpleTrigger:
1. Example SimpleTrigger : Create a
simple trigger which fires exactly once, 20 seconds from now:
long startTime = System.currentTimeMillis() +
(20L*1000L);
SimpleTrigger strigger = new
SimpleTrigger("mySimpleTrigger", sched.DEFAULT_GROUP, new
Date(startTime), null, 0, 0L);
2. Example SimpleTrigger : Create a
simple trigger that fires quickly and repeats every 20 seconds:
SimpleTrigger strigger = new
SimpleTrigger("mySimpleTrigger", sched.DEFAULT_GROUP, new Date(),
null, SimpleTrigger.REPEAT_INDEFINITELY, 20L * 1000L);
3. Example SimpleTrigger: Create a Simple
Trigger that fires quickly and repeats every 10 seconds until 50 seconds from
now:
long endTime = System.currentTimeMillis() + (50L *
1000L);
SimpleTrigger strigger = new
SimpleTrigger("mySimpleTrigger", sched.DEFAULT_GROUP, new Date(), new
Date(endTime), SimpleTrigger.REPEAT_INDEFINITELY, 10L * 1000L);
4. Example SimpleTrigger: Create a Simple
Trigger that fires on February 19 of the year 2007 at accurately 9:15 am, and
repeats 10 times with 20 seconds delay between each firing.
java.util.Calendar cal = new
java.util.GregorianCalendar(2007,cal.FEB, 19);
cal.set(cal.HOUR, 9);
cal.set(cal.MINUTE, 15);
cal.set(cal.SECOND, 0);
cal.set(cal.MILLISECOND, 0);
Data startTime = cal.getTime();
SimpleTrigger trigger = new
SimpleTrigger("mySimpleTrigger", sched.DEFAULT_GROUP, startTime, 10,
20L*1000L);
Simple Trigger Misfire Instructions
When the misfire instruction occurs then what should to
do the Quartz. There are following misfire instructions to use for informing the
Quartz.
MISFIRE_INSTRUCTION_FIRE_NOW
MISFIRE_INSTRUCTION_RESCHEDULE_NOW_WITH_EXISTING_REPEAT_COUNT
MISFIRE_INSTRUCTION_RESCHEDULE_NOW_WITH_REMAINING_REPEAT_COUNT
MISFIRE_INSTRUCTION_RESCHEDULE_NEXT_WITH_REMAINING_COUNT
MISFIRE_INSTRUCTION_RESCHEDULE_NEXT_EXISTING_COUNT
Here is the also mis-fire instruction that have used
for all trigger types:
Trigger.MISFIRE_INSTRUCTION_SMART_POLICY
When we will use the "smart policy"
misfire instruction with the triggers then the SimpleTrigger determine
between its various types of mis-fire instructions that depends upon the
configuration and state of the specified SimpleTrigger instance. The JavaDOC
has the SimpleTrigger.updateAfterMisfire() method
that describes the brief description of this dynamic behavior.

|
Current Comments
0 comments so far (post your own) View All Comments Latest 10 Comments: