Schnittstelle PersistenceDirectoryManager
- Alle Superschnittstellen:
DataGapManager
- Alle bekannten Implementierungsklassen:
SingletonPersistenceDirectoryManager
,TimeBasedPersistenceDirectoryManager
Verwaltung von mehreren (zeitlich getrennten) Persistenzverzeichnissen
-
Methodenübersicht
Modifizierer und TypMethodeBeschreibungcreateSimulationDirectory
(int simVariant) Erstellt für die angegebene Simulationsvariante das Persistenzverzeichnis.void
Löscht ein Verzeichnis einer SimulationGibt das Persistenzverzeichnis zurück, in das aktuell archiviert wird.getGapFilePath
(IdDataIdentification dataIdentification) Gibt den Pfad und Dateinamen einer Lückendatei für das Nachfordern zurück.List
<? extends PersistenceDirectory> getPersistenceDirectories
(int simVariant, SequenceSpecification sequenceSpecification) Ermittelt alle Persistenzverzeichnisse, die zur angegebenen Zeitspezifikation die zugehörigen Archivdaten enthält.Gibt das Wurzelverzeichnis der Persistenz zurück, unter dem die weiteren Persistenzverzeichnisse (je Zeitbereich) angelegt werden.getSimulationPersistenceDirectory
(int simVariant) Gibt das Persistenzverzeichnis zurück, das von einer speziellen Simulation verwendet wirdvoid
Initialisiert die Verzeichnisverwaltung und lädt z.void
shutDown()
Terminiert die Verzeichnisverwaltung, markiert die Verzeichnisse nicht mehr als benutzt und löscht alle Lock-Dateien.void
updatePersistenceDirectories
(long archTime) Aktualisiert das aktive Persistenzverzeichnis basierend auf der aktuellen ArchivzeitVon Schnittstelle geerbte Methoden de.bsvrz.ars.ars.persistence.iter.DataGapManager
isRangeUnavailable
-
Methodendetails
-
updatePersistenceDirectories
void updatePersistenceDirectories(long archTime) throws IOException, InterruptedException, PersistenceException Aktualisiert das aktive Persistenzverzeichnis basierend auf der aktuellen Archivzeit- Parameter:
archTime
- aktuelle Archivzeit (Millis seit Epoch)- Löst aus:
IOException
- IO-FehlerInterruptedException
- Unterbrochen beim Einrichten des neuen PersistenzverzeichnissesPersistenceException
- Allgemeiner Persistenzfehler
-
getActivePersistenceDirectory
Gibt das Persistenzverzeichnis zurück, in das aktuell archiviert wird. Kann null zurückgeben, z. B. während der Initialisierung oder während noch nichts archiviert wurde.- Gibt zurück:
- Aktives Persistenzverzeichnis
-
getPersistenceDirectories
List<? extends PersistenceDirectory> getPersistenceDirectories(int simVariant, SequenceSpecification sequenceSpecification) Ermittelt alle Persistenzverzeichnisse, die zur angegebenen Zeitspezifikation die zugehörigen Archivdaten enthält.Achtung: Da bei Archivanfragen ggf. ein initialer Zustand und ein Nachfolgedatensatz (Gültigkeitsdauer des letzten Datensatzes) ermittelt werden muss, muss ein Aufrufer ggf. noch zusätzlich einen vorherigen oder nachfolgenden Container aus einem anderen Verzeichnis eigenständig ermitteln!
- Parameter:
simVariant
- SimulationsvariantesequenceSpecification
- Zeitspezifikation- Gibt zurück:
- Collection mit Persistenzverzeichnissen, die zurückgegebene Liste ist immutable.
-
getSimulationPersistenceDirectory
Gibt das Persistenzverzeichnis zurück, das von einer speziellen Simulation verwendet wird- Parameter:
simVariant
- Simulationsvariante (> 0)- Gibt zurück:
- zugehöriges Persistenzverzeichnis oder null (wenn keines existiert).
-
getRootPath
Gibt das Wurzelverzeichnis der Persistenz zurück, unter dem die weiteren Persistenzverzeichnisse (je Zeitbereich) angelegt werden.- Gibt zurück:
- Wurzelverzeichnis, nicht null
-
initialize
void initialize() throws IOException, InterruptedException, PersistenceException, DirectoryIsLockedExceptionInitialisiert die Verzeichnisverwaltung und lädt z. B. die vorhandenen Verzeichnisse ein- Löst aus:
IOException
- Dateisystem-LesefehlerInterruptedException
- UnterbrochenPersistenceException
- Persistenz fehlerDirectoryIsLockedException
- Persistenzverzeichnis ist bereits gelockt (isActive-Datei existiert)
-
shutDown
void shutDown()Terminiert die Verzeichnisverwaltung, markiert die Verzeichnisse nicht mehr als benutzt und löscht alle Lock-Dateien. -
createSimulationDirectory
Erstellt für die angegebene Simulationsvariante das Persistenzverzeichnis. Sollte bereits ein Verzeichnis existieren, wird es zurückgegeben.- Parameter:
simVariant
- Simulationsvariante (größer 0)- Gibt zurück:
- Zugehöriges Persistenzverzeichnis
-
deleteSimulationDirectory
Löscht ein Verzeichnis einer Simulation- Parameter:
directory
- Persistenzverzeichnis der Simulation
-
getGapFilePath
Gibt den Pfad und Dateinamen einer Lückendatei für das Nachfordern zurück. In dieser Datei werden die bereits erhaltenen Datenlücken vermerkt, also wo erfolglos nachgefordert wurde, damit diese nicht sinnloserweise neu angefragt werden.- Parameter:
dataIdentification
- Datenidentifikation- Gibt zurück:
- Ein Dateipfad
-