Class ArchiveTask
java.lang.Object
de.bsvrz.ars.ars.mgmt.tasks.Task
de.bsvrz.ars.ars.mgmt.tasks.AbstractTask
de.bsvrz.ars.ars.mgmt.tasks.RepeatingTask
de.bsvrz.ars.ars.persistence.writer.ArchiveTask
Task zur Archivierung von Datensätzen. Ist nicht von SingleTask abgeleitet, weil ein spezieller ArchiveRingBuffer verwendet wird, der zwei Objekte
(ResultData und Archivzeit) speichern kann. Die work()-Methode hat deswegen zwei Parameter.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final record
Sammlung von Wertebereichen der letzten Container -
Field Summary
Fields inherited from class de.bsvrz.ars.ars.mgmt.tasks.Task
_debug, _shouldTerminate
-
Constructor Summary
ConstructorsConstructorDescriptionArchiveTask
(ArchiveManager archiveMgr, SignalingQueue<ArchiveJob> inQueue) Konstruktor des Archiv-Tasks. -
Method Summary
Modifier and TypeMethodDescriptionlong
static de.bsvrz.sys.funclib.losb.datk.ContainerSettings
Liefert die Container-Einstellungen des Archivsystems.long
long
long
static long
Letzte verwendete Archivzeit.long
long
long
static boolean
isIndexGap
(long lastDataIdx, long nextDataIdx) Gibt zurück, ob zwischen 2 Datensätze eine Indexlücke vorliegtvoid
Setzt alle Zähler auf 0.protected void
sendAck
(de.bsvrz.dav.daf.main.ResultData rd, DataIdentNode din) Sendet eine Quittung für den angegebenen Datensatz.static void
setContainerSettings
(de.bsvrz.sys.funclib.losb.datk.ContainerSettings cs) Setzt die Container-Einstellungen des Archivsystems.static void
setLastArchiveTime
(long atime) void
step()
Implementiert die beliebige wiederholt auszuführende Aufgabevoid
Terminiert den Task, indem dafür gesorgt wird, dasTask.shouldTerminate()
true zurückliefert.Methods inherited from class de.bsvrz.ars.ars.mgmt.tasks.RepeatingTask
execute, getArchMgr
Methods inherited from class de.bsvrz.ars.ars.mgmt.tasks.AbstractTask
addTaskStepListener, cleanUp, getName, getState, isAlive, isTerminated, join, removeTaskStepListener, setName, start, taskStepDone
Methods inherited from class de.bsvrz.ars.ars.mgmt.tasks.Task
getDidTree, getPersistenceManager, shouldTerminate, suspendTaskIfNecessary
-
Constructor Details
-
ArchiveTask
Konstruktor des Archiv-Tasks.- Parameters:
archiveMgr
- Archiv-ManagerinQueue
- Input-Queue
-
-
Method Details
-
getSerializationHelper
-
setContainerSettings
public static void setContainerSettings(de.bsvrz.sys.funclib.losb.datk.ContainerSettings cs) Setzt die Container-Einstellungen des Archivsystems.- Parameters:
cs
- Container-Einstellungen
-
getContainerSettings
public static de.bsvrz.sys.funclib.losb.datk.ContainerSettings getContainerSettings()Liefert die Container-Einstellungen des Archivsystems.- Returns:
- Container-Einstellungen
-
step
Description copied from class:RepeatingTask
Implementiert die beliebige wiederholt auszuführende Aufgabe- Specified by:
step
in classRepeatingTask
- Throws:
InterruptedException
- Thread unterbrochen
-
terminateTask
public void terminateTask()Description copied from class:Task
Terminiert den Task, indem dafür gesorgt wird, dasTask.shouldTerminate()
true zurückliefert. Der Task sollte diese Funktion regelmäßig aufrufen um dann bei Rückgabe vontrue
den Task zeitnah zu beenden.- Overrides:
terminateTask
in classTask
-
getSuccessCount
public long getSuccessCount()- Returns:
- Anzahl der seit Systemstart erfolgreich archivierten Datensätze
-
getFailedCount
public long getFailedCount()- Returns:
- Anzahl der seit Systemstart nicht erfolgreich archivierten Datensätze
-
getSuccessCountRequested
public long getSuccessCountRequested()- Returns:
- Anzahl der seit Systemstart erfolgreich archivierten Datensätze
-
getFailedCountRequested
public long getFailedCountRequested()- Returns:
- Anzahl der seit Systemstart nicht erfolgreich archivierten Datensätze
-
getSuccessCountOnline
public long getSuccessCountOnline()- Returns:
- Anzahl der seit Systemstart erfolgreich archivierten Datensätze
-
getFailedCountOnline
public long getFailedCountOnline()- Returns:
- Anzahl der seit Systemstart nicht erfolgreich archivierten Datensätze
-
getCloseContainerSuccess
public long getCloseContainerSuccess()- Returns:
- Zahl aller seit dem Start oder letzten
resetDSCounter()
erfolgreich verarbeiteten Close-Container-Datensätze. Kann zur Test-Synchronisation verwendet werden.
-
resetDSCounter
public void resetDSCounter()Setzt alle Zähler auf 0. -
setLastArchiveTime
public static void setLastArchiveTime(long atime) -
getLastArchiveTime
public static long getLastArchiveTime()Letzte verwendete Archivzeit. Wird für die Archivzeitüberwachung benutzt. -
isIndexGap
public static boolean isIndexGap(long lastDataIdx, long nextDataIdx) Gibt zurück, ob zwischen 2 Datensätze eine Indexlücke vorliegt- Parameters:
lastDataIdx
- erster DatensatznextDataIdx
- nächster Datensatz- Returns:
- true: Indexlücke, sonst false
-
sendAck
Sendet eine Quittung für den angegebenen Datensatz.- Parameters:
rd
- Datensatzdin
- Datenknoten mit Parametrierung
-
getFailCounterOnline
-
getFailCounterRequested
-
getCloseCounter
-
getSuccessCounterOnline
-
getSuccessCounterRequested
-