Package de.bsvrz.ars.ars.mgmt
Class ArchiveManager
java.lang.Object
de.bsvrz.sys.funclib.losb.DAVAppBase
de.bsvrz.ars.ars.mgmt.ArchiveManager
- All Implemented Interfaces:
TaskManager
,TaskManagerInterface
,de.bsvrz.dav.daf.main.ApplicationCloseActionHandler
Zentrale Archiv-Verwaltung.
-
Nested Class Summary
Nested classes/interfaces inherited from class de.bsvrz.sys.funclib.losb.DAVAppBase
de.bsvrz.sys.funclib.losb.DAVAppBase.DisconnectHandler
-
Field Summary
Fields inherited from class de.bsvrz.sys.funclib.losb.DAVAppBase
applicationLabel, applicationName, argList, logger
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
Wird von ArchiveConfig ausgeführt, wenn alle Daten initial angemeldet wurden.void
checkPersistenceDir
(ScanMode mode) Prüft das Persistenzverzeichnis auf fremde Dateien und Verzeichnisse und falsche Reihenfolgen von ID-Verzeichnissen.void
Verbindet sich zum datenverteiler, wenn dabei ein Fehler auftritt, wird das System beendet.long
void
decreaseArchiveQueryCountForApplication
(de.bsvrz.dav.daf.main.config.SystemObject application) Erniedrigt für eine Applikation die Anzahl der gleichzeitigen Anfragen um 1.static WeekDomain
detectDomain
(Path archivePath, boolean silent) Ermittelt, nach welcher Struktur bzw. welcher Zeit-Intervall-Aufteilung das persistenzverzeichnis aufgebaut ist.long
final de.bsvrz.dav.daf.main.config.ConfigurationObject
Gibt das Archiv-Objekt vom Typ "typ.archiv" zurückint
getArchiveQueryCountForApplication
(de.bsvrz.dav.daf.main.config.SystemObject application) Gibt die aktuelle Anzahl der gleichzeitigen Anfragen für eine Applikation zurückde.bsvrz.dav.daf.main.config.DataModel
int
int
int
Anzahl Threads für Persistenz-Prüfung und Wiederherstellungint
Anzahl Threads fürs Index-Schließen beim Beendenint
Anzahl Threads fürs Löschenint
Anzahl ArchivierungstasksGibt den PersistenzManager zurück.Gibt die aktuelle Laufzeitsteuerung zurück.int
increaseArchiveQueryCountForApplication
(de.bsvrz.dav.daf.main.config.SystemObject application) Erhöht für eine Applikation die Anzahl der gleichzeitigen Anfragen um 1.static void
Startpunkt des Archivsystems.void
quit()
Fährt das ArS herunter und beendet die VM.void
Fährt das ArS mit einer Fehlermeldung herunter und beendet die VM.void
quitErrorNoExit
(String msg) Fährt das ArS mit einer Fehlermeldung herunter.void
Fährt das ArS herunter, ohne die VM zu beenden (dies ist bei Fernsteuerung des ArS aus JUnit-Tests notwendig).void
run
(RuntimeControl runtimeControl) Startet das Archivsystemboolean
Gibttrue
zurück, wenn das permanente Löschen nru simuliert wird.void
suspendTaskIfNecessary
(Task task) Die Methode blockiert und hält damit den aufrufenden Task an, wenn dies (z.void
Ändert die eigentschaft, ob das permanente Löschen aktiv ist oder nur simuliert wird.boolean
Gibttrue
zurück, wenn das Archivsystem sich gerade beendet.Methods inherited from class de.bsvrz.sys.funclib.losb.DAVAppBase
close, connectToDav, disconnectFromDav, enableExplicitApplicationReadyMessage, getAsp, getAsp, getAtg, getAtg, getConfigAuth, getDavCon, getDD, getObj, getObj, isExplicitApplicationReadyMessage, reconnectHandler, setDisconnectHandler
-
Constructor Details
-
ArchiveManager
Haupt-Konstruktor des Archivsystems- Parameters:
args
- Kommandozeilen-Argumente- Throws:
Exception
- Fehler bei Initialisierung
-
-
Method Details
-
detectDomain
@Nullable public static WeekDomain detectDomain(Path archivePath, boolean silent) throws IOException Ermittelt, nach welcher Struktur bzw. welcher Zeit-Intervall-Aufteilung das persistenzverzeichnis aufgebaut ist.- Parameters:
archivePath
- Wurzelverzeichnis des Archivsystemssilent
- Sollen hilfreiche Debug-Ausgaben gemacht werden?- Returns:
- entweder ein
WeekDomain
-Objekt oder null, falls das Persistenzverzeichnis das alte Format hat - Throws:
IOException
- Fehler bei Analyse
-
getArchiveObject
public final de.bsvrz.dav.daf.main.config.ConfigurationObject getArchiveObject()Gibt das Archiv-Objekt vom Typ "typ.archiv" zurück- Returns:
- das Archiv-Objekt
-
getDataModel
@Nullable public de.bsvrz.dav.daf.main.config.DataModel getDataModel()- Overrides:
getDataModel
in classde.bsvrz.sys.funclib.losb.DAVAppBase
-
wasTerminated
public boolean wasTerminated()Gibttrue
zurück, wenn das Archivsystem sich gerade beendet.- Specified by:
wasTerminated
in interfaceTaskManagerInterface
- Returns:
true
, wenn das Archivsystem sich gerade beendet, sonstfalse
-
run
Startet das Archivsystem- Parameters:
runtimeControl
- Laufzeit-Umgebung, zur Abfrage von Systemzeit, Spezialeinstellungen für Tests usw., im produktiven Betrieb einSystemRuntimeControl
.
-
getRuntimeControl
Description copied from interface:TaskManagerInterface
Gibt die aktuelle Laufzeitsteuerung zurück. Falls das System noch nicht voll initialisiert ist, wirdnull
zurückgegeben.- Specified by:
getRuntimeControl
in interfaceTaskManagerInterface
- Returns:
- die aktuelle Laufzeitsteuerung
-
countDataInQueues
public long countDataInQueues()- Specified by:
countDataInQueues
in interfaceTaskManagerInterface
-
estimateQueueMemoryUsage
public long estimateQueueMemoryUsage()- Specified by:
estimateQueueMemoryUsage
in interfaceTaskManagerInterface
-
suspendTaskIfNecessary
Description copied from interface:TaskManagerInterface
Die Methode blockiert und hält damit den aufrufenden Task an, wenn dies (z. B. wegen Überlastung) notwendig ist.- Specified by:
suspendTaskIfNecessary
in interfaceTaskManagerInterface
- Parameters:
task
- Task- Throws:
InterruptedException
- Unterbrochen beim Anhalten
-
connectToDavQuit
public void connectToDavQuit()Verbindet sich zum datenverteiler, wenn dabei ein Fehler auftritt, wird das System beendet. -
checkPersistenceDir
Prüft das Persistenzverzeichnis auf fremde Dateien und Verzeichnisse und falsche Reihenfolgen von ID-Verzeichnissen. Die Ergebnisse werden über den Logger protokolliert. Kann durch einen Kommandozeilenparameter beim Systemstart aufgerufen werden.- Parameters:
mode
- Scan-Modus
-
quit
public void quit()Fährt das ArS herunter und beendet die VM. -
quitNoExit
public void quitNoExit()Fährt das ArS herunter, ohne die VM zu beenden (dies ist bei Fernsteuerung des ArS aus JUnit-Tests notwendig). -
quitError
Fährt das ArS mit einer Fehlermeldung herunter und beendet die VM.- Parameters:
msg
- Fehlermeldung
-
quitErrorNoExit
Fährt das ArS mit einer Fehlermeldung herunter.- Parameters:
msg
- Fehlermeldung
-
main
Startpunkt des Archivsystems.- Parameters:
args
- Kommandozeilenparameter
-
getArchivConfig
-
getInQueuesMgr
-
getTaskScheduler
-
getSimulationMgr
- Returns:
- Liefert den SimulationsManager.
-
getMaximumQueriesPerApplication
public int getMaximumQueriesPerApplication() -
getOriginalCommandLineArguments
- Returns:
- Liefert die original Command Line Argumente als unmodifiableList von String Objekten.
-
increaseArchiveQueryCountForApplication
public int increaseArchiveQueryCountForApplication(de.bsvrz.dav.daf.main.config.SystemObject application) Erhöht für eine Applikation die Anzahl der gleichzeitigen Anfragen um 1.- Parameters:
application
- Applikation- Returns:
- Neue Anzahl der gleichzeitigen Anfragen
-
decreaseArchiveQueryCountForApplication
public void decreaseArchiveQueryCountForApplication(de.bsvrz.dav.daf.main.config.SystemObject application) Erniedrigt für eine Applikation die Anzahl der gleichzeitigen Anfragen um 1.- Parameters:
application
- Applikation
-
getArchiveQueryCountForApplication
public int getArchiveQueryCountForApplication(de.bsvrz.dav.daf.main.config.SystemObject application) Gibt die aktuelle Anzahl der gleichzeitigen Anfragen für eine Applikation zurück- Parameters:
application
- Applikation- Returns:
- Anzahl
-
getNumCloseIndexThreads
public int getNumCloseIndexThreads()Anzahl Threads fürs Index-Schließen beim Beenden- Specified by:
getNumCloseIndexThreads
in interfaceTaskManagerInterface
- Returns:
- Vom Benutzer vorgegebener Wert
-
getNumCheckPersistenceThreads
public int getNumCheckPersistenceThreads()Anzahl Threads für Persistenz-Prüfung und Wiederherstellung- Specified by:
getNumCheckPersistenceThreads
in interfaceTaskManagerInterface
- Returns:
- Vom Benutzer vorgegebener Wert
-
getPersistenceManager
Description copied from interface:TaskManager
Gibt den PersistenzManager zurück.- Specified by:
getPersistenceManager
in interfaceTaskManager
- Returns:
- den PersistenzManager
-
getNumOfArchTasks
public int getNumOfArchTasks()Anzahl Archivierungstasks- Returns:
- Vom Benutzer vorgegebener Wert
-
getNumDeleteThreads
public int getNumDeleteThreads()Anzahl Threads fürs Löschen- Returns:
- Vom Benutzer vorgegebener Wert
-
archiveIsReady
public void archiveIsReady()Wird von ArchiveConfig ausgeführt, wenn alle Daten initial angemeldet wurden. -
getIndexCacheMaxSize
public int getIndexCacheMaxSize()- Specified by:
getIndexCacheMaxSize
in interfaceTaskManagerInterface
-
getRebuildMode
-
simulatePermanentDelete
public boolean simulatePermanentDelete()Gibttrue
zurück, wenn das permanente Löschen nru simuliert wird.- Returns:
true
, wenn das permanente Löschen nru simuliert wird, sonstfalse
-
togglePermanentDelete
public void togglePermanentDelete()Ändert die eigentschaft, ob das permanente Löschen aktiv ist oder nur simuliert wird.
-