public class RestoreTask extends SingleClientSenderTask
Task zur Wiederherstellung gesicherter Container.
Modifier and Type | Class and Description |
---|---|
private class |
RestoreTask.MediumidContainerTupel |
Modifier and Type | Field and Description |
---|---|
private LongTermTaskStatePublisher.Task |
_longTermTaskStatePublisherTask
Objekt, dem Informationen zum aktuellen Zustand der Task und dem Fortschritt von langwierigen Arbeiten übergeben werden.
|
private byte[] |
indexMem |
private static long |
LOESSCHUTZ_VERL |
private java.util.Set<java.lang.String> |
mediumIdIgnoreSet |
private static java.lang.String |
UNAVAIL_MEDIUM_ID_FILE |
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 |
---|
RestoreTask(ArchiveManager archiveMgr,
java.util.concurrent.BlockingQueue<java.lang.Object> inputData,
LongTermTaskStatePublisher longTermTaskStatePublisher)
Erzeugt einen neuen Task zur Wiederherstellung gesicherter Container.
|
Modifier and Type | Method and Description |
---|---|
private java.util.List<RestoreTask.MediumidContainerTupel> |
collectAllMediumIdsFromDir() |
private java.util.List<RestoreTask.MediumidContainerTupel> |
collectMediumIdsByDataSpec(ArchiveDataSpecification[] ads) |
void |
execute()
Diese Methode muss implementiert werden und definiert die Aktion, die dieser Task ausführt
|
static long |
getLOESSCHUTZ_VERL() |
private void |
initIgnoreList()
Liest die Datei MEDIUM_ID_IGNORE_FILE aus und schreibt die darin enthaltenen MedienIds in das Set mediumIdIgnoreSet.
|
private boolean |
isMediumIdToBeRestored(java.lang.String mediumID) |
static boolean |
isUnavailMediumIDsFile(java.lang.String name)
Prueft, ob der angegebene Dateiname der Name einer _unavailable_mediumids.dat-Datei ist.
|
private void |
restore(ResultData resultData) |
private void |
restoreFromBackup(int backupMediumID,
java.lang.String containerFileName,
long objId,
long atgId,
long aspId,
int sv,
ArchiveDataKind archiveDataKind)
Holt einen Container aus dem Backup zurueck.
|
static void |
setLOESSCHUTZ_VERL(long loesschutz_verl) |
protected void |
work(ResultData resultData)
Fuehrt die Wiederherstellung gesicherter Datenvontainer durch.
|
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
private static final java.lang.String UNAVAIL_MEDIUM_ID_FILE
private static long LOESSCHUTZ_VERL
private java.util.Set<java.lang.String> mediumIdIgnoreSet
private byte[] indexMem
private LongTermTaskStatePublisher.Task _longTermTaskStatePublisherTask
Objekt, dem Informationen zum aktuellen Zustand der Task und dem Fortschritt von langwierigen Arbeiten übergeben werden.
public RestoreTask(ArchiveManager archiveMgr, java.util.concurrent.BlockingQueue<java.lang.Object> inputData, LongTermTaskStatePublisher longTermTaskStatePublisher)
Erzeugt einen neuen Task zur Wiederherstellung gesicherter Container.
rodl
- Der Listener wird benachrichtigt beim Beenden der Task.archiveMgr
- Der Archiv-Manager.inputData
- Eingangswarteschlangepublic void execute()
Task
Diese Methode muss implementiert werden und definiert die Aktion, die dieser Task ausführt
execute
in class RepeatingTask
public static boolean isUnavailMediumIDsFile(java.lang.String name)
Prueft, ob der angegebene Dateiname der Name einer _unavailable_mediumids.dat-Datei ist.
name
- Name einer Dateiprotected void work(ResultData resultData)
Fuehrt die Wiederherstellung gesicherter Datenvontainer durch.
work
in class QueueTask<ResultData>
resultData
- Zu verarbeitender Datensatz aus der Eingangswarteschlange.private void restore(ResultData resultData) throws java.lang.Exception
java.lang.Exception
private java.util.List<RestoreTask.MediumidContainerTupel> collectAllMediumIdsFromDir() throws java.lang.Exception
java.lang.Exception
private java.util.List<RestoreTask.MediumidContainerTupel> collectMediumIdsByDataSpec(ArchiveDataSpecification[] ads) throws java.lang.Exception
java.lang.Exception
private void restoreFromBackup(int backupMediumID, java.lang.String containerFileName, long objId, long atgId, long aspId, int sv, ArchiveDataKind archiveDataKind) throws java.lang.Exception
Holt einen Container aus dem Backup zurueck.
java.lang.Exception
private void initIgnoreList()
Liest die Datei MEDIUM_ID_IGNORE_FILE aus und schreibt die darin enthaltenen MedienIds in das Set mediumIdIgnoreSet. Fehler werden großzügig behandelt - notfalls bleibt das Set leer.
private boolean isMediumIdToBeRestored(java.lang.String mediumID)
public static long getLOESSCHUTZ_VERL()
public static void setLOESSCHUTZ_VERL(long loesschutz_verl)