Package de.bsvrz.ars.ars.mgmt.tasks
Klasse ArchiveQueryTask
java.lang.Object
de.bsvrz.ars.ars.mgmt.tasks.Task
de.bsvrz.ars.ars.mgmt.tasks.AbstractTask
de.bsvrz.ars.ars.mgmt.tasks.RepeatingTask
de.bsvrz.ars.ars.mgmt.tasks.QueueTask<de.bsvrz.dav.daf.main.ResultData>
de.bsvrz.ars.ars.mgmt.tasks.MultiTask
de.bsvrz.ars.ars.mgmt.tasks.QueryTask
de.bsvrz.ars.ars.mgmt.tasks.ArchiveQueryTask
- Alle implementierten Schnittstellen:
de.bsvrz.dav.daf.main.ClientSenderInterface
Task für Bearbeitung von Archivanfragen.
Die Archivanfrage wird analysiert und in ihre Unterabfragen Query
zerlegt. Die Beantwortung erfolgt streambasiert mit einem Stream pro Unterabfrage.
-
Verschachtelte Klassen - Übersicht
Verschachtelte KlassenVon Klasse geerbte verschachtelte Klassen/Schnittstellen de.bsvrz.ars.ars.mgmt.tasks.QueryTask
QueryTask.SendingState
-
Feldübersicht
Von Klasse geerbte Felder de.bsvrz.ars.ars.mgmt.tasks.QueryTask
atgQuery, bosResult, ddResponse, deserializer, gData, gResultData, queryAppObj, queryIdx, sendingState, serializer, serializerVersion, syncObj
Von Klasse geerbte Felder de.bsvrz.ars.ars.mgmt.tasks.MultiTask
resultData
Von Klasse geerbte Felder de.bsvrz.ars.ars.mgmt.tasks.Task
_debug, _shouldTerminate
Von Schnittstelle geerbte Felder de.bsvrz.dav.daf.main.ClientSenderInterface
START_SENDING, STOP_SENDING, STOP_SENDING_NO_RIGHTS, STOP_SENDING_NOT_A_VALID_SUBSCRIPTION
-
Konstruktorübersicht
KonstruktorenKonstruktorBeschreibungArchiveQueryTask
(ArchiveManager archiveMgr, MultiTaskManager tMgr, FlowControlTask flowCtrl, int maximumRequestsPerApplication) Erzeugt einen neuen Query-Task. -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungprotected void
cleanUp()
Wird garantiert aufgerufen, nachdem der Task vollständig terminiert wurde.void
dataRequest
(de.bsvrz.dav.daf.main.config.SystemObject object, de.bsvrz.dav.daf.main.DataDescription dataDescription, byte state) static int
static int
protected void
init()
Initialisiert den Task für eine neue Archivanfrage.static void
setBlockingFactorMux
(int bFMuxParam) Über diese Methode kann die Parametrierung den Blocking-Faktor des StreamMultiplexers auf den parametrierten Wert setzen (Attribut "AnzahlBlocks" in Attributgruppe "ArchivEinstellung").static void
setBufferSizeMux
(int bSMuxParam) Über diese Methode kann die Parametrierung die PufferGröße des StreamMultiplexers auf den parametrierten Wert setzen (Attribut "AnzahlBytes" in Attributgruppe "ArchivEinstellung").static void
subscribeObjects
(ArchiveManager archMgr, InQueuesMgr.DataReceiver receiver) Fuehrt alle notwendigen Anmeldungen durch.void
Terminiert den Task.protected void
Meldet den Task als Sender für Archiv-Antworten an das angegebene Empfaenger-Applikations-Objekt ab.void
work()
Diese Methode ist zu überschreiben, um die konkrete Aufgabe der Task zu implementieren.Von Klasse geerbte Methoden de.bsvrz.ars.ars.mgmt.tasks.QueryTask
createQueryData, getObjectsFromDav, isRequestSupported, parseArchiveDataSpec, sendResultData, subscribeSender, waitForSendControl
Von Klasse geerbte Methoden de.bsvrz.ars.ars.mgmt.tasks.MultiTask
setTaskIndex, work
Von Klasse geerbte Methoden de.bsvrz.ars.ars.mgmt.tasks.RepeatingTask
execute, getArchMgr
Von Klasse geerbte Methoden de.bsvrz.ars.ars.mgmt.tasks.AbstractTask
addTaskStepListener, getName, getState, isAlive, isTerminated, join, removeTaskStepListener, setName, start, taskStepDone
Von Klasse geerbte Methoden de.bsvrz.ars.ars.mgmt.tasks.Task
getDidTree, getPersistenceManager, shouldTerminate, suspendTaskIfNecessary
-
Konstruktordetails
-
ArchiveQueryTask
public ArchiveQueryTask(ArchiveManager archiveMgr, MultiTaskManager tMgr, FlowControlTask flowCtrl, int maximumRequestsPerApplication) Erzeugt einen neuen Query-Task.- Parameter:
archiveMgr
- Archiv-VerwaltungtMgr
- Zugeordneter Task-ManagerflowCtrl
- Verwaltung der FlusskontrollemaximumRequestsPerApplication
- Maximale Anzahl von gleichzeitigen Anfragen pro Applikation
-
-
Methodendetails
-
subscribeObjects
Fuehrt alle notwendigen Anmeldungen durch.- Parameter:
archMgr
- Archiv-Verwaltungreceiver
- Empfaengerobjekt
-
setBlockingFactorMux
public static void setBlockingFactorMux(int bFMuxParam) Über diese Methode kann die Parametrierung den Blocking-Faktor des StreamMultiplexers auf den parametrierten Wert setzen (Attribut "AnzahlBlocks" in Attributgruppe "ArchivEinstellung").- Parameter:
bFMuxParam
- Parametrierter Blocking-Faktor des StreamMultiplexers
-
setBufferSizeMux
public static void setBufferSizeMux(int bSMuxParam) Über diese Methode kann die Parametrierung die PufferGröße des StreamMultiplexers auf den parametrierten Wert setzen (Attribut "AnzahlBytes" in Attributgruppe "ArchivEinstellung").- Parameter:
bSMuxParam
- Parametrierte PufferGröße des StreamMultiplexers
-
getBlockingFactorMux
public static int getBlockingFactorMux()- Siehe auch:
-
getBufferSizeMux
public static int getBufferSizeMux()- Siehe auch:
-
work
public void work()Beschreibung aus Klasse kopiert:MultiTask
Diese Methode ist zu überschreiben, um die konkrete Aufgabe der Task zu implementieren. In der Methode soll keine weitere Synchronisation stattfinden. -
dataRequest
public void dataRequest(de.bsvrz.dav.daf.main.config.SystemObject object, de.bsvrz.dav.daf.main.DataDescription dataDescription, byte state) - Angegeben von:
dataRequest
in Schnittstellede.bsvrz.dav.daf.main.ClientSenderInterface
- Setzt außer Kraft:
dataRequest
in KlasseQueryTask
- Siehe auch:
-
terminateTask
public void terminateTask()Beschreibung aus Klasse kopiert:QueueTask
Terminiert den Task. Diese Methode fügt zusätzlich in die Queue einen speziellen Token ein, mit dem der Aufruf von_queue.take()
in derQueueTask.step()
-Methode aufgeweckt wird, falls die Methode dort gerade auf einen neuen Auftrag warten.- Setzt außer Kraft:
terminateTask
in KlasseQueueTask<de.bsvrz.dav.daf.main.ResultData>
-
cleanUp
protected void cleanUp()Beschreibung aus Klasse kopiert:AbstractTask
Wird garantiert aufgerufen, nachdem der Task vollständig terminiert wurde. Dieser Code wird im selben Thread ausgeführt, wie der eigentliche TaskTut standardmäßig nichts, kann überschrieben werden um Daten aufzuräumen, Abmeldungen durchzuführen usw.
- Setzt außer Kraft:
cleanUp
in KlasseAbstractTask
-
init
protected void init()Initialisiert den Task für eine neue Archivanfrage. -
unsubscribeSender
protected void unsubscribeSender()Meldet den Task als Sender für Archiv-Antworten an das angegebene Empfaenger-Applikations-Objekt ab. Deregistriert den StreamMultiplexer für den Empfang von Flusskontroll-Steuerungspaketen.- Setzt außer Kraft:
unsubscribeSender
in KlasseQueryTask
-