public class BackupTask extends SingleClientSenderTask
Task zur Durchführung eines Sicherungslaufs.
Modifier and Type | Class and Description |
---|---|
static class |
BackupTask.BackupResultData
Diese Klasse sieht aus wie ein ResultData, wird aber nur intern verwendet, um einen über den Scheduler angestoßenen Sicherungslauf von einem extern angestoßenen zu unterscheiden
|
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
INDEXFILE_NAME
Name der Datei, in der alle Indexdaten des momentanen Mediums temporär abgelegt werden
|
atgQuery, ddResponse, deserializer, queryAppObj, queryIdx, SENDCONTROL_TIMEOUT, serializerVersion, syncObj
TERMINATE_TASK
_debug, _shouldTerminate, archMgr, didTree, INDEX_MEMORY_SIZE, persMgr
START_SENDING, STOP_SENDING, STOP_SENDING_NO_RIGHTS, STOP_SENDING_NOT_A_VALID_SUBSCRIPTION
Constructor and Description |
---|
BackupTask(ArchiveManager archiveMgr,
java.util.concurrent.BlockingQueue<java.lang.Object> inputData,
LongTermTaskStatePublisher longTermTaskStatePublisher)
Erstellt einen neuen BackupTask
|
Modifier and Type | Method and Description |
---|---|
int |
estimateIndexSize(int countSavedContainers)
Schätzt die Indexgröße für eine angegebene Zahl Einträge.
|
void |
execute()
Diese Methode muss implementiert werden und definiert die Aktion, die dieser Task ausführt
|
static BackupModul |
getBackupModul()
Gibt das verwendete Backupmodul zurück
|
static BackupTask.BackupResultData |
getBackupResultData()
Gibt einen
BackupTask.BackupResultData -Dummy zurück |
static java.util.List<java.lang.Long> |
getContainerIDsToBackupStatic(java.io.File didDir,
PersistenceManager persistenceManager,
Task task)
Ermittelt, welche Container in einem Verzeichnis gesichert werden sollen.
|
static int |
getLastUsedMediumID()
Gibt die zuletzt verwendete MedienID zurück
|
void |
runBackup()
Startet den Sicherungslauf
|
static void |
setBackupModul(java.lang.String propertiesFile)
Setzt das zu verwendende Backup-Modul.
|
static void |
setLastUsedMediumID(int mediumID)
Setzt die zuletzt verwendete MedienID.
|
protected void |
work(ResultData resultData) |
dataRequest, getObjectsFromDav, init, insertData, isRequestSupported, parseArchiveDataSpec, sendErrorResponse, sendErrorResponse, sendSuccessResponse, sendSuccessResponse, subscribeSender, unsubscribeSender
getQueue, step, submit, terminateTask
addTaskStepListener, cleanUp, getArchMgr, getName, getState, isAlive, isTerminated, join, removeTaskStepListener, setName, shouldTerminate, start, suspendTaskIfNecessary, taskStepDone
public static final java.lang.String INDEXFILE_NAME
Name der Datei, in der alle Indexdaten des momentanen Mediums temporär abgelegt werden
public BackupTask(ArchiveManager archiveMgr, java.util.concurrent.BlockingQueue<java.lang.Object> inputData, LongTermTaskStatePublisher longTermTaskStatePublisher)
Erstellt einen neuen BackupTask
rodl
- RingOfDeathListenerarchiveMgr
- ArchivmanagerinputData
- EingangswarteschlangelongTermTaskStatePublisher
- siehe LongTermTaskStatePublisher
public void execute()
Task
Diese Methode muss implementiert werden und definiert die Aktion, die dieser Task ausführt
execute
in class RepeatingTask
protected void work(ResultData resultData)
work
in class QueueTask<ResultData>
public void runBackup() throws BackupException
Startet den Sicherungslauf
BackupException
- Fehler beim Backuppublic static java.util.List<java.lang.Long> getContainerIDsToBackupStatic(java.io.File didDir, PersistenceManager persistenceManager, Task task) throws PersistenceException
Ermittelt, welche Container in einem Verzeichnis gesichert werden sollen. Wird statisch bereitgestellt, da auch an anderen Stellen gebraucht
didDir
- Verzeichnis, welches geprüft wirdpersistenceManager
- PersistenceManagertask
- TaskPersistenceException
- Fehler in der Persistenzpublic int estimateIndexSize(int countSavedContainers)
Schätzt die Indexgröße für eine angegebene Zahl Einträge. Wird gebraucht um festzustellen, ob noch genug Platz für einen Container + Index auf einem Medium ist
countSavedContainers
- Anzahl der Containerpublic static void setBackupModul(java.lang.String propertiesFile) throws BackupException
Setzt das zu verwendende Backup-Modul.
propertiesFile
- Datei in dem das zu verwendende Modul gespeichert ist.BackupException
- Fehler beim Vorgangpublic static BackupModul getBackupModul()
Gibt das verwendete Backupmodul zurück
public static int getLastUsedMediumID()
Gibt die zuletzt verwendete MedienID zurück
public static void setLastUsedMediumID(int mediumID)
Setzt die zuletzt verwendete MedienID. Für nach nächste Backup wird der um 1 inkrementierte Wert verwendet
mediumID
- zuletzt verwendete MedienIDpublic static BackupTask.BackupResultData getBackupResultData()
Gibt einen BackupTask.BackupResultData
-Dummy zurück