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.Debug
Loggerprotected boolean
Zeigt 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 String
getName()
PersistenceManager für den Zugriff auf die Daten des Archivsystemsabstract boolean
isAlive()
Gibttrue
zurück, wenn der Task noch "lebt".abstract boolean
Gibttrue
zurück, wenn der Task terminiert wurde.abstract void
join()
Wartet auf das Beenden des Tasks ähnlichThread.join()
.boolean
Zeigt an, ob der Task beendet werden soll.abstract void
start()
Startet den Task.final void
Hält den Task an, falls sich das Archivsystem in einem kritischen Zustand befindet.void
Terminiert 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 vontrue
den Task zeitnah zu beenden. -
shouldTerminate
public boolean shouldTerminate()Zeigt an, ob der Task beendet werden soll.- Returns:
true
falls 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ßendtrue
zurück. -
getName
-
join
Wartet auf das Beenden des Tasks ähnlichThread.join()
.- Throws:
InterruptedException
- Unterbrochen beim warten
-
isAlive
public abstract boolean isAlive()Gibttrue
zurück, wenn der Task noch "lebt".- Returns:
true
, wenn der Task noch "lebt", sonstfalse
-
isTerminated
public abstract boolean isTerminated()Gibttrue
zurü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
-