public abstract class Task extends Thread implements SuspendableTask
SingleTask
und MultiTask
.Thread.State, Thread.UncaughtExceptionHandler
Modifier and Type | Field and Description |
---|---|
protected ArchiveManager |
archMgr
Zentrale Archiv-Verwaltung.
|
protected DataIdentTree |
didTree |
protected static int |
INDEX_MEMORY_SIZE
Groesse des Byte-Arrays fuer temporaeren Speicher beim Abfragen der Indexe.
|
protected boolean |
isTerminated
Zeigt an ob der Task beendet wurde.
|
protected Debug |
logger |
protected PersistenceManager |
persMgr
PersistenceManager fuer den Zugriff auf die Daten des Archivsystems
|
protected RingOfDeathListener |
ringOfDeathListener
Dieses Objekt wird benachrichtigt, wenn die Hauptschleife verlassen wurde
|
protected List<TaskStepListener> |
taskStepListeners
Alle Objekte in dieser Liste werden benachrichtigt, wenn ein Zyklus der Hauptschleife durchlaufen wurde.
|
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
Modifier | Constructor and Description |
---|---|
protected |
Task(ArchiveManager archiveMgr,
RingOfDeathListener rodl) |
Modifier and Type | Method and Description |
---|---|
void |
addTaskStepListener(TaskStepListener tsl)
Zu Testzwecken kann hiermit ein Listener eingefuegt werden, der am Ende eines jedem Schleifendurchlaufs aufgerufen wird.
|
ArchiveManager |
getArchMgr() |
boolean |
isTaskTerminated()
Zeigt an, ob der Task beendet werden soll.
|
void |
removeTaskStepListener(TaskStepListener tsl)
Entfernt den Listener.
|
void |
suspendTaskIfNecessary()
Hält den Task an, falls sich das Archivsystem in einem kritischen Zustand befindet.
|
void |
terminateTask()
Terminiert den Task, indem die
Thread.run() -Methode unterbrochen wird, sofern sie im Wartezustand ist und nicht gerade einen Auftrag bearbeitet. |
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, resume, run, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
protected static final int INDEX_MEMORY_SIZE
protected Debug logger
protected boolean isTerminated
task.terminateTask(); task.isTaskTerminated()==true;
task.interrupt(); task.isInterrupted()==true;
protected List<TaskStepListener> taskStepListeners
protected ArchiveManager archMgr
protected DataIdentTree didTree
protected PersistenceManager persMgr
protected RingOfDeathListener ringOfDeathListener
protected Task(ArchiveManager archiveMgr, RingOfDeathListener rodl)
public void addTaskStepListener(TaskStepListener tsl)
TaskListener
aufgerufen wird.tsl
- Callback-Interfacepublic void removeTaskStepListener(TaskStepListener tsl)
tsl
- Callback-Interfacepublic void terminateTask()
Thread.run()
-Methode unterbrochen wird, sofern sie im Wartezustand ist und nicht gerade einen Auftrag bearbeitet.
Andernfalls wird der Task vor dem naechsten Zyklus beendet.public boolean isTaskTerminated()
SuspendableTask
isTaskTerminated
in interface SuspendableTask
true
falls der Task beendet werden soll.public ArchiveManager getArchMgr()
public void suspendTaskIfNecessary()
isTerminated
liefert anschließend true
zurück.suspendTaskIfNecessary
in interface SuspendableTask