|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.lang.Thread
de.bsvrz.ars.ars.mgmt.tasks.Task
de.bsvrz.ars.ars.mgmt.tasks.SingleTask
de.bsvrz.ars.ars.mgmt.tasks.SingleClientSenderTask
de.bsvrz.ars.ars.mgmt.tasks.RequestGapTask
public class RequestGapTask
Task zur Nachforderung fehlender Archivdaten aus anderen Archivsystemen gemaess Parametrierung.
Nested Class Summary | |
---|---|
class |
RequestGapTask.GapFile
Diese Klasse speichert nicht schliessbare Datenluecken in einer Datei im Verzeichnis der Datenidentifikation in der Form 10-20 |
static class |
RequestGapTask.GapMarker
Speichert pro Archivsystem die Luecken, die von diesem nicht geschlossen werden konnten. |
static class |
RequestGapTask.RequestGapResultData
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 unterscheieden |
private class |
RequestGapTask.RequestGapWorker
|
Nested classes/interfaces inherited from class java.lang.Thread |
---|
Thread.State, Thread.UncaughtExceptionHandler |
Field Summary | |
---|---|
private ArchiveDataSpecification[] |
archDataSpecs
|
private List<SystemObject> |
archiveList
|
private ArchiveTimeSpecification |
archTimeSpec
Zeitspezifikation, die beim Nachfordern verwendet werden soll oder null , falls keine Einschränkung berücksichtigt werden soll. |
private Semaphore |
finishedSema
|
private static String |
GAP_ARCH_SEPARATOR
|
static String |
GAP_FILE_NAME
Dateiname der Datenluecken-Datei. |
private static String |
GAP_IDX_SEPARATOR
|
private static String |
GAP_KEYWORD
|
private static Pattern |
GAP_PAT
|
static int |
REQUEST_GAP_THREADS
Anzahl der Threads zum Nachfordern fehlender Archivdaten. |
static ArchiveQueryPriority |
REQUEST_PRIO
Prioritaet der Nachforserungsanfragen. |
private static ArchiveDataKindCombination |
requestAdk
|
private RequestGapTask.RequestGapWorker[] |
requester
|
private static RequestGapTask.RequestGapResultData |
requestGapResultData
|
private AtomicInteger |
totalGapsFound
|
Fields inherited from class de.bsvrz.ars.ars.mgmt.tasks.SingleClientSenderTask |
---|
atgQuery, ddResponse, deserializer, queryAppObj, queryIdx, SENDCONTROL_TIMEOUT, serializerVersion, syncObj |
Fields inherited from class de.bsvrz.ars.ars.mgmt.tasks.Task |
---|
archMgr, didTree, INDEX_MEMORY_SIZE, isTerminated, logger, persMgr, ringOfDeathListener, taskStepListeners |
Fields inherited from class java.lang.Thread |
---|
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY |
Fields inherited from interface de.bsvrz.dav.daf.main.ClientSenderInterface |
---|
START_SENDING, STOP_SENDING, STOP_SENDING_NO_RIGHTS, STOP_SENDING_NOT_A_VALID_SUBSCRIPTION |
Constructor Summary | |
---|---|
RequestGapTask(ArchiveManager archiveMgr,
RingOfDeathListener rodl,
RingBuffer<ResultData> inputData)
Erzeugt einen neuen Task zur Nachforderung fehlender Archivdaten. |
Method Summary | |
---|---|
static RequestGapTask.RequestGapResultData |
getRequestGapResultData()
Liefert den Nachforderungsanfrage-Datensatz. |
private List<SystemObject> |
parseArchiveList(Deserializer ds)
Extrahiert die Liste der Archivsysteme, bei denen nachgefordert werden soll. |
private void |
performRequest()
Erzeugt eine Anzahl ( REQUEST_GAP_THREADS ) von RequestGapTask(ArchiveManager,RingOfDeathListener,RingBuffer) - Objekten, die die
Nachforderung durchführen. |
void |
terminateTask()
Beendet den Nachforderungs-Task. |
protected void |
work(ResultData resultData)
Startet das automatische oder manuelle Nachfordern entsprechend dem uebergebenen Nachforderungs-Datensatz. |
Methods inherited from class de.bsvrz.ars.ars.mgmt.tasks.SingleClientSenderTask |
---|
dataRequest, getObjectsFromDAV, init, isRequestSupported, parseArchiveDataSpec, sendErrorResponse, sendErrorResponse, sendSuccessResponse, sendSuccessResponse, subscribeSender, unsubscribeSender |
Methods inherited from class de.bsvrz.ars.ars.mgmt.tasks.SingleTask |
---|
run |
Methods inherited from class de.bsvrz.ars.ars.mgmt.tasks.Task |
---|
addTaskStepListener, getArchMgr, isTaskTerminated, removeTaskStepListener, suspendTaskIfNecessary |
Methods inherited from class java.lang.Thread |
---|
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 |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static String GAP_FILE_NAME
public static int REQUEST_GAP_THREADS
public static ArchiveQueryPriority REQUEST_PRIO
private static String GAP_KEYWORD
private static String GAP_IDX_SEPARATOR
private static String GAP_ARCH_SEPARATOR
private static Pattern GAP_PAT
private static ArchiveDataKindCombination requestAdk
private static RequestGapTask.RequestGapResultData requestGapResultData
private RequestGapTask.RequestGapWorker[] requester
private Semaphore finishedSema
private ArchiveDataSpecification[] archDataSpecs
private List<SystemObject> archiveList
private AtomicInteger totalGapsFound
private ArchiveTimeSpecification archTimeSpec
null
, falls keine Einschränkung berücksichtigt werden soll.
Constructor Detail |
---|
public RequestGapTask(ArchiveManager archiveMgr, RingOfDeathListener rodl, RingBuffer<ResultData> inputData)
archiveMgr
- Der Archiv-Manager.rodl
- Der Listener wird benachrichtigt beim Beenden der Task.inputData
- EingangswarteschlangeMethod Detail |
---|
public static RequestGapTask.RequestGapResultData getRequestGapResultData()
protected void work(ResultData resultData)
work
in class SingleTask
resultData
- Nachforderungs-Datensatz.private List<SystemObject> parseArchiveList(Deserializer ds) throws Exception
ds
-
IOException
Exception
private void performRequest() throws Exception
REQUEST_GAP_THREADS
) von RequestGapTask(ArchiveManager,RingOfDeathListener,RingBuffer)
- Objekten, die die
Nachforderung durchführen. Diese Methode wartet, bis alle Threads fertig sind.
Exception
public void terminateTask()
terminateTask
in class Task
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |