Package de.bsvrz.ars.ars.mgmt.tasks
Class AbstractTask
java.lang.Object
de.bsvrz.ars.ars.mgmt.tasks.AbstractTask
public abstract class AbstractTask
extends java.lang.Object
TBD Dokumentation
-
Field Summary
Fields Modifier and Type Field Description protected static de.bsvrz.sys.funclib.debug.Debug
_debug
Loggerprotected boolean
_shouldTerminate
Zeigt an ob der Task beendet werden soll.protected ArchiveManager
archMgr
Zentrale Archiv-Verwaltung.protected DataIdentTree
didTree
Datenindentifikationenprotected PersistenceManager
persMgr
PersistenceManager für den Zugriff auf die Daten des Archivsystems -
Constructor Summary
Constructors Constructor Description AbstractTask(ArchiveManager archiveMgr)
Erstellt einen neuen Task -
Method Summary
Modifier and Type Method Description ArchiveManager
getArchMgr()
abstract java.lang.String
getName()
void
getObjectsFromDav()
Wird aufgerufen, sobald eine Datenverteilerverbindung verfügbar ist.abstract boolean
isAlive()
abstract boolean
isTerminated()
abstract void
join()
abstract void
setName(java.lang.String name)
boolean
shouldTerminate()
Zeigt an, ob der Task beendet werden soll.abstract void
start()
void
suspendTaskIfNecessary()
Hält den Task an, falls sich das Archivsystem in einem kritischen Zustand befindet.void
terminateTask()
Terminiert den Task indem dafür gesorgt wird, dasshouldTerminate()
true zurückliefert.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
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. -
didTree
Datenindentifikationen -
archMgr
Zentrale Archiv-Verwaltung. -
persMgr
PersistenceManager für den Zugriff auf die Daten des Archivsystems
-
-
Constructor Details
-
AbstractTask
Erstellt einen neuen Task- Parameters:
archiveMgr
- Archiv-Manager (Kann für Testfälle und ähnliches null sein, allerdings kann es dann passieren, das bestimmte Funktionen nicht funktionieren.)
-
-
Method Details
-
start
public abstract void start() -
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.
-
getArchMgr
-
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. -
getObjectsFromDav
public void getObjectsFromDav()Wird aufgerufen, sobald eine Datenverteilerverbindung verfügbar ist. Kann benutzt werden, um Objekte zu laden und Anmeldungen durchzuführen.Wichtig: Diese Methode wird unter Umständen im Konstruktor ausgeführt und sollte daher nicht erwarten, dass die Subklasse (`this`) vollständig initialisiert ist.
-
getName
public abstract java.lang.String getName() -
setName
public abstract void setName(java.lang.String name) -
join
public abstract void join() throws java.lang.InterruptedException- Throws:
java.lang.InterruptedException
-
isAlive
public abstract boolean isAlive() -
isTerminated
public abstract boolean isTerminated()
-