Package de.bsvrz.ars.ars.mgmt.tasks
Class Task
java.lang.Object
de.bsvrz.ars.ars.mgmt.tasks.Task
- Direct Known Subclasses:
AbstractTask,CronTask
Basisklasse für Hintergrund-Tasks im Archivsystem
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final de.bsvrz.sys.funclib.debug.DebugLoggerprotected booleanZeigt an, ob der Task beendet werden soll. -
Constructor Summary
ConstructorsConstructorDescriptionTask(TaskManager taskManagerInterface) Erstellt einen neuen TaskTask(PersistenceManager persistenceManager) Erstellt einen neuen Task -
Method Summary
Modifier and TypeMethodDescriptionZentrale Archiv-Verwaltung.Gibt die Verwaltung der Datenidentifikationen zurückabstract StringgetName()PersistenceManager für den Zugriff auf die Daten des Archivsystemsabstract booleanisAlive()Gibttruezurück, wenn der Task noch "lebt".abstract booleanGibttruezurück, wenn der Task terminiert wurde.abstract voidjoin()Wartet auf das Beenden des Tasks ähnlichThread.join().booleanZeigt an, ob der Task beendet werden soll.abstract voidstart()Startet den Task.final voidHält den Task an, falls sich das Archivsystem in einem kritischen Zustand befindet.voidTerminiert den Task, indem dafür gesorgt wird, dasshouldTerminate()true zurückliefert.
-
Field Details
-
_debug
protected static final de.bsvrz.sys.funclib.debug.Debug _debugLogger -
_shouldTerminate
protected volatile boolean _shouldTerminateZeigt an, ob der Task beendet werden soll. Der Task bricht dann möglichst schnell an der nächsten sicheren Stelle ab.
-
-
Constructor Details
-
Task
Erstellt einen neuen Task- Parameters:
taskManagerInterface- Archiv-Manager (Kann für Testfälle und ähnliches null sein, allerdings kann es dann passieren, das bestimmte Funktionen nicht funktionieren.)
-
Task
Erstellt einen neuen Task- Parameters:
persistenceManager- Persistenz-Manager
-
-
Method Details
-
start
public abstract void start()Startet den Task. -
terminateTask
public void terminateTask()Terminiert den Task, indem dafür gesorgt wird, dasshouldTerminate()true zurückliefert. Der Task sollte diese Funktion regelmäßig aufrufen um dann bei Rückgabe vontrueden Task zeitnah zu beenden. -
shouldTerminate
public boolean shouldTerminate()Zeigt an, ob der Task beendet werden soll.- Returns:
truefalls der Task beendet werden soll.
-
suspendTaskIfNecessary
public final void suspendTaskIfNecessary()Hält den Task an, falls sich das Archivsystem in einem kritischen Zustand befindet. Wird das Archivsystem beendet, wird der Task fortgesetzt, so dass er seine Aufgabe noch vollständig erfüllen kann.shouldTerminate()liefert anschließendtruezurück. -
getName
-
join
Wartet auf das Beenden des Tasks ähnlichThread.join().- Throws:
InterruptedException- Unterbrochen beim warten
-
isAlive
public abstract boolean isAlive()Gibttruezurück, wenn der Task noch "lebt".- Returns:
true, wenn der Task noch "lebt", sonstfalse
-
isTerminated
public abstract boolean isTerminated()Gibttruezurück, wenn der Task terminiert wurde.- Returns:
true, wenn der Task terminiert wurde, sonstfalse
-
getArchMgr
Zentrale Archiv-Verwaltung. -
getDidTree
Gibt die Verwaltung der Datenidentifikationen zurück -
getPersistenceManager
PersistenceManager für den Zugriff auf die Daten des Archivsystems
-