Package de.bsvrz.ars.migration
Class MigrateWorker
java.lang.Object
de.bsvrz.ars.migration.MigrateWorker
- All Implemented Interfaces:
de.bsvrz.ars.ars.persistence.ContainerCreator,de.bsvrz.ars.ars.persistence.DataIdentificationManager
Diese Klasse führt die eigentliche Migration durch
-
Constructor Summary
ConstructorsConstructorDescriptionMigrateWorker(de.bsvrz.ars.ars.persistence.directories.PersistenceDirectory srcDir, Path target, int numThreads, com.google.common.collect.Range<Instant> archiveTimeRange, BackupImplementation backupImplementation) Erstellt einen neuen MigrateWorker. -
Method Summary
Modifier and TypeMethodDescriptionde.bsvrz.ars.ars.mgmt.datatree.DataIdentTreebooleanPrüft, ob ein Verzeichnis leer istde.bsvrz.ars.ars.mgmt.datatree.synchronization.SyncKey<de.bsvrz.ars.ars.persistence.IdDataIdentification>lockIndex(de.bsvrz.ars.ars.persistence.IdDataIdentification dataIdentification) longGibt die nächste freie Container-ID zurückvoidstart()Führt die Migration durch.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface de.bsvrz.ars.ars.persistence.ContainerCreator
getCloseThreadCountMethods inherited from interface de.bsvrz.ars.ars.persistence.DataIdentificationManager
formatContainerDirectory, formatObj, getIndexCacheMaxSize, lockIndex, shouldDeleteBrokenContainers
-
Constructor Details
-
MigrateWorker
public MigrateWorker(de.bsvrz.ars.ars.persistence.directories.PersistenceDirectory srcDir, Path target, int numThreads, com.google.common.collect.Range<Instant> archiveTimeRange, BackupImplementation backupImplementation) Erstellt einen neuen MigrateWorker.- Parameters:
srcDir- Altes Persistenzverzeichnistarget- ZielverzeichnisnumThreads- Anzahl Threads für MigrationarchiveTimeRange- Archivzeitbereich, der Migriert werden sollbackupImplementation- Optionale Implementierung des Backup-Moduls, falls ausgelagerte Dateien während der Migration wieder eingelagert werden sollen.
-
-
Method Details
-
isEmpty
Prüft, ob ein Verzeichnis leer ist- Parameters:
path- Verzeichnis- Returns:
- true: leer, false: kein Verzeichnis oder nicht leer oder anderer Fehler
-
start
public void start() throws de.bsvrz.ars.ars.persistence.PersistenceExceptionFührt die Migration durch.- Throws:
de.bsvrz.ars.ars.persistence.PersistenceException- Fehler beim Lesen oder Schreiben
-
nextContainerID
public long nextContainerID()Gibt die nächste freie Container-ID zurück- Specified by:
nextContainerIDin interfacede.bsvrz.ars.ars.persistence.ContainerCreator- Returns:
- Container-ID
-
lockIndex
public de.bsvrz.ars.ars.mgmt.datatree.synchronization.SyncKey<de.bsvrz.ars.ars.persistence.IdDataIdentification> lockIndex(de.bsvrz.ars.ars.persistence.IdDataIdentification dataIdentification) - Specified by:
lockIndexin interfacede.bsvrz.ars.ars.persistence.DataIdentificationManager
-
getDataIdentTree
public de.bsvrz.ars.ars.mgmt.datatree.DataIdentTree getDataIdentTree()- Specified by:
getDataIdentTreein interfacede.bsvrz.ars.ars.persistence.ContainerCreator
-