public class RestoreTask extends SingleClientSenderTask
Modifier and Type | Class and Description |
---|---|
private class |
RestoreTask.MediumidContainerTupel |
Thread.State, Thread.UncaughtExceptionHandler
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 Set<String> |
mediumIdIgnoreSet |
private static String |
UNAVAIL_MEDIUM_ID_FILE |
atgQuery, ddResponse, deserializer, queryAppObj, queryIdx, SENDCONTROL_TIMEOUT, serializerVersion, syncObj
archMgr, didTree, INDEX_MEMORY_SIZE, isTerminated, logger, persMgr, ringOfDeathListener, taskStepListeners
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
START_SENDING, STOP_SENDING, STOP_SENDING_NO_RIGHTS, STOP_SENDING_NOT_A_VALID_SUBSCRIPTION
Constructor and Description |
---|
RestoreTask(ArchiveManager archiveMgr,
RingOfDeathListener rodl,
RingBuffer<ResultData> inputData,
LongTermTaskStatePublisher longTermTaskStatePublisher)
Erzeugt einen neuen Task zur Wiederherstellung gesicherter Container.
|
Modifier and Type | Method and Description |
---|---|
private List<RestoreTask.MediumidContainerTupel> |
collectAllMediumIdsFromDir() |
private List<RestoreTask.MediumidContainerTupel> |
collectMediumIdsByDataSpec(ArchiveDataSpecification[] ads) |
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(String mediumID) |
static boolean |
isUnavailMediumIDsFile(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,
String containerFileName,
long objId,
long atgId,
long aspId,
int sv,
ArchiveDataKind archiveDataKind)
Holt einen Container aus dem Backup zurueck.
|
void |
run() |
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
addTaskStepListener, getArchMgr, isTaskTerminated, removeTaskStepListener, suspendTaskIfNecessary, terminateTask
activeCount, checkAccess, clone, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
private static final String UNAVAIL_MEDIUM_ID_FILE
private static long LOESSCHUTZ_VERL
private byte[] indexMem
private LongTermTaskStatePublisher.Task _longTermTaskStatePublisherTask
public RestoreTask(ArchiveManager archiveMgr, RingOfDeathListener rodl, RingBuffer<ResultData> inputData, LongTermTaskStatePublisher longTermTaskStatePublisher) throws ConfigurationException
archiveMgr
- Der Archiv-Manager.rodl
- Der Listener wird benachrichtigt beim Beenden der Task.inputData
- EingangswarteschlangeConfigurationException
public void run()
run
in interface Runnable
run
in class SingleTask
Runnable.run()
public static boolean isUnavailMediumIDsFile(String name)
name
- Name einer Dateiprotected void work(ResultData resultData)
work
in class SingleTask
resultData
- Zu verarbeitender Datensatz aus der Eingangswarteschlange.private void restore(ResultData resultData) throws Exception
Exception
private List<RestoreTask.MediumidContainerTupel> collectAllMediumIdsFromDir() throws Exception
Exception
private List<RestoreTask.MediumidContainerTupel> collectMediumIdsByDataSpec(ArchiveDataSpecification[] ads) throws Exception
Exception
private void restoreFromBackup(int backupMediumID, String containerFileName, long objId, long atgId, long aspId, int sv, ArchiveDataKind archiveDataKind) throws Exception
Exception
private void initIgnoreList()
private boolean isMediumIdToBeRestored(String mediumID)
public static long getLOESSCHUTZ_VERL()
public static void setLOESSCHUTZ_VERL(long loesschutz_verl)