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, yieldprotected 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()
SuspendableTaskisTaskTerminated in interface SuspendableTasktrue falls der Task beendet werden soll.public ArchiveManager getArchMgr()
public void suspendTaskIfNecessary()
isTerminated liefert anschließend true zurück.suspendTaskIfNecessary in interface SuspendableTask