|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.lang.Thread
com.ecyrd.jspwiki.util.WikiBackgroundThread
public abstract class WikiBackgroundThread
Abstract Thread subclass that operates in the background;
when it detects the WikiEngineEvent.SHUTDOWN
event,
it terminates itself. Subclasses of this method need only
implement the method backgroundTask()
, instead of
the normal Thread.run()
, and provide a constructor that
passes the WikiEngine and sleep interval. This class is
thread-safe.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class java.lang.Thread |
---|
Thread.State, Thread.UncaughtExceptionHandler |
Field Summary |
---|
Fields inherited from class java.lang.Thread |
---|
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY |
Constructor Summary | |
---|---|
WikiBackgroundThread(WikiEngine engine,
int sleepInterval)
Constructs a new instance of this background thread with a specified sleep interval, and adds the new instance to the wiki engine's event listeners. |
Method Summary | |
---|---|
void |
actionPerformed(WikiEvent event)
Listens for WikiEngineEvent.SHUTDOWN
and, if detected, marks the thread for death. |
abstract void |
backgroundTask()
Abstract method that performs the actual work for this background thread; subclasses must implement this method. |
WikiEngine |
getEngine()
Returns the WikiEngine that created this background thread. |
void |
run()
Runs the background thread's backgroundTask() method
at the interval specified at construction. |
void |
shutdown()
Requests the shutdown of this background thread. |
void |
shutdownTask()
Executes a task after shutdown signal was detected. |
void |
startupTask()
Executes a task just after the thread's Thread.run()
method starts, but before the backgroundTask()
task executes. |
Methods inherited from class java.lang.Thread |
---|
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public WikiBackgroundThread(WikiEngine engine, int sleepInterval)
engine
- the wiki enginesleepInterval
- the interval between invocations of
the thread's Thread.run()
method, in secondsMethod Detail |
---|
public final void actionPerformed(WikiEvent event)
WikiEngineEvent.SHUTDOWN
and, if detected, marks the thread for death.
actionPerformed
in interface WikiEventListener
event
- a WikiEvent objectWikiEventListener.actionPerformed(com.ecyrd.jspwiki.event.WikiEvent)
public abstract void backgroundTask() throws Exception
Exception
- Any exception can be thrownpublic WikiEngine getEngine()
public void shutdown()
public final void run()
backgroundTask()
method
at the interval specified at construction.
The thread will initially pause for a full sleep interval
before starting, after which it will execute
startupTask()
. This method will cleanly
terminate the thread if it has previously
been marked as dead, before which it will execute
shutdownTask()
. If any of the three methods
return an exception, it will be re-thrown as a
InternalWikiException
.
run
in interface Runnable
run
in class Thread
Thread.run()
public void shutdownTask() throws Exception
Exception
- Any exception can be thrown.public void startupTask() throws Exception
Thread.run()
method starts, but before the backgroundTask()
task executes. By default, this method does nothing;
override it to implement custom functionality.
Exception
- Any exception can be thrown.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |