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, syncObjVon Klasse geerbte Felder de.bsvrz.ars.ars.mgmt.tasks.MultiTask
resultDataVon Klasse geerbte Felder de.bsvrz.ars.ars.mgmt.tasks.Task
_debug, _shouldTerminateVon 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 voidcleanUp()Wird garantiert aufgerufen, nachdem der Task vollständig terminiert wurde.voiddataRequest(de.bsvrz.dav.daf.main.config.SystemObject object, de.bsvrz.dav.daf.main.DataDescription dataDescription, byte state) static intstatic intprotected voidinit()Initialisiert den Task für eine neue Archivanfrage.static voidsetBlockingFactorMux(int bFMuxParam) Über diese Methode kann die Parametrierung den Blocking-Faktor des StreamMultiplexers auf den parametrierten Wert setzen (Attribut "AnzahlBlocks" in Attributgruppe "ArchivEinstellung").static voidsetBufferSizeMux(int bSMuxParam) Über diese Methode kann die Parametrierung die PufferGröße des StreamMultiplexers auf den parametrierten Wert setzen (Attribut "AnzahlBytes" in Attributgruppe "ArchivEinstellung").static voidsubscribeObjects(ArchiveManager archMgr, InQueuesMgr.DataReceiver receiver) Fuehrt alle notwendigen Anmeldungen durch.voidTerminiert den Task.protected voidMeldet den Task als Sender für Archiv-Antworten an das angegebene Empfaenger-Applikations-Objekt ab.voidwork()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, waitForSendControlVon Klasse geerbte Methoden de.bsvrz.ars.ars.mgmt.tasks.MultiTask
setTaskIndex, workVon Klasse geerbte Methoden de.bsvrz.ars.ars.mgmt.tasks.RepeatingTask
execute, getArchMgrVon Klasse geerbte Methoden de.bsvrz.ars.ars.mgmt.tasks.AbstractTask
addTaskStepListener, getName, getState, isAlive, isTerminated, join, removeTaskStepListener, setName, start, taskStepDoneVon 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:MultiTaskDiese 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:
dataRequestin Schnittstellede.bsvrz.dav.daf.main.ClientSenderInterface- Setzt außer Kraft:
dataRequestin KlasseQueryTask- Siehe auch:
-
terminateTask
public void terminateTask()Beschreibung aus Klasse kopiert:QueueTaskTerminiert 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:
terminateTaskin KlasseQueueTask<de.bsvrz.dav.daf.main.ResultData>
-
cleanUp
protected void cleanUp()Beschreibung aus Klasse kopiert:AbstractTaskWird 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:
cleanUpin 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:
unsubscribeSenderin KlasseQueryTask
-