public class Retry extends TimerBase
<oddjob id="this"> <job> <scheduling:retry name="File Polling Example" xmlns:scheduling="http://rgordon.co.uk/oddjob/scheduling" xmlns:schedules="http://rgordon.co.uk/oddjob/schedules"> <schedule> <schedules:interval interval="00:00:05"/> </schedule> <job> <sequential id="look" name="Look for files"> <jobs> <exists file="${this.dir}/work/*.foo" id="check" name="Check File Exists"/> <echo name="Echo to Console">Found ${check.exists[0]}</echo> </jobs> </sequential> </job> </scheduling:retry> </job> </oddjob>
<oddjob xmlns:schedules="http://rgordon.co.uk/oddjob/schedules" xmlns:scheduling="http://rgordon.co.uk/oddjob/scheduling" xmlns:state="http://rgordon.co.uk/oddjob/state"> <job> <scheduling:timer id="timer"> <schedule> <schedules:daily from="08:00"/> </schedule> <job> <scheduling:retry id="retry"> <schedule> <schedules:count count="2"/> </schedule> <job> <state:flag id="flag-job" state="EXCEPTION"/> </job> </scheduling:retry> </job> </scheduling:timer> </job> </oddjob>
contextData
begun, childHelper, childStateReflector, stateHandler, stop
Constructor and Description |
---|
Retry() |
Modifier and Type | Method and Description |
---|---|
protected void |
begin()
Sub classes must override this to submit the first execution.
|
Interval |
getLimits()
Implementation provided by sub classes so limits are available in
TimerBase.scheduleFrom(Date) . |
protected StateOperator |
getStateOp()
Sub classes provide the state operator that is used to calculate the subclasses
completion state.
|
protected void |
rescheduleOn(State state)
Implementation provided by sub classes to decide how to reschedule based
on the state of the child job.
|
protected void |
reset(Resetable job)
Implementation provided by sub classes to decide what kind of reset to send
to the child.
|
void |
setLimits(Interval limits) |
CancelAndStopChild, getClock, getCurrent, getLastDue, getNextDue, getSchedule, getTimeZone, internalSetNextDue, onReset, onStop, postStop, scheduleFrom, setClock, setJob, setNextDue, setReschedule, setSchedule, setScheduleExecutorService, setTimeZone
addStructuralListener, fireDestroyedState, force, getStateChanger, hardReset, iconHelper, onDestroy, removeStructuralListener, run, setStateStartingAndIconSleeping, softReset, stateHandler, stop
configure, getName, logger, logger, loggerName, save, setName, toString
addIconListener, addPropertyChangeListener, addStateListener, configure, destroy, firePropertyChange, getArooaSession, iconForId, initialise, lastStateEvent, onConfigured, onInitialised, removeIconListener, removePropertyChangeListener, removeStateListener, save, setArooaContext, setArooaSession
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
addStateListener, lastStateEvent, removeStateListener
protected StateOperator getStateOp()
ScheduleBase
getStateOp
in class ScheduleBase
protected void begin() throws ComponentPersistException
ScheduleBase
begin
in class TimerBase
ComponentPersistException
public void setLimits(Interval limits)
public Interval getLimits()
TimerBase
TimerBase.scheduleFrom(Date)
.protected void rescheduleOn(State state) throws ComponentPersistException
TimerBase
rescheduleOn
in class TimerBase
state
- The completion state of the child job.ComponentPersistException