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.DataIdentTree
boolean
Prü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) long
Gibt die nächste freie Container-ID zurückvoid
start()
Führt die Migration durch.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface de.bsvrz.ars.ars.persistence.ContainerCreator
getCloseThreadCount
Methods 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:
nextContainerID
in 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:
lockIndex
in interfacede.bsvrz.ars.ars.persistence.DataIdentificationManager
-
getDataIdentTree
public de.bsvrz.ars.ars.mgmt.datatree.DataIdentTree getDataIdentTree()- Specified by:
getDataIdentTree
in interfacede.bsvrz.ars.ars.persistence.ContainerCreator
-