Class Scheduler
java.lang.Object
java.lang.Thread
org.apache.log4j.scheduler.Scheduler
- All Implemented Interfaces:
Runnable
A simple but still useful implementation of a Scheduler (in memory only).
This implementation will work very well when the number of scheduled job is
small, say less than 100 jobs. If a larger number of events need to be
scheduled, than a better adapted data structure for the jobList can give
improved performance.
- Author:
- Ceki
-
Nested Class Summary
Nested classes/interfaces inherited from class Thread
Thread.State, Thread.UncaughtExceptionHandler -
Field Summary
Fields inherited from class Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanchangePeriod(Job job, long newPeriod) Change the period of a job.booleanDelete the given job.voidrun()Run scheduler.voidSchedule aJobfor execution at system time given by thedesiredTimeparameter.voidSchedule aJobfor execution at system time given by thedesiredTimeparameter.voidshutdown()Shut down scheduler.Methods inherited from class Thread
activeCount, checkAccess, clone, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
-
Constructor Details
-
Scheduler
public Scheduler()Create new instance.
-
-
Method Details
-
delete
Delete the given job.- Parameters:
job- job.- Returns:
- true if the job could be deleted, and false if the job could not be found or if the Scheduler is about to shutdown in which case deletions are not permitted.
-
schedule
-
schedule
Schedule aJobfor execution at system time given by thedesiredTimeparameter. The job will be rescheduled. It will execute with a frequency determined by the period parameter.- Parameters:
job- job to schedule.desiredTime- desired time of execution.period- repeat period.
-
changePeriod
Change the period of a job. The original job must exist for its period to be changed. The method returns true if the period could be changed, and false otherwise.- Parameters:
job- job.newPeriod- new repeat period.- Returns:
- true if period could be changed.
-
shutdown
public void shutdown()Shut down scheduler. -
run
-