Package de.bsvrz.ars.ars.mgmt.tasks
Klasse QueryTask
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
- Alle implementierten Schnittstellen:
de.bsvrz.dav.daf.main.ClientSenderInterface
- Bekannte direkte Unterklassen:
ArchiveInfoQueryTask
,ArchiveQueryTask
public abstract class QueryTask
extends MultiTask
implements de.bsvrz.dav.daf.main.ClientSenderInterface
Oberklasse für Tasks, die Archivanfragen oder Archiv-Informationsanfragen bearbeiten.
-
Verschachtelte Klassen - Übersicht
Verschachtelte KlassenModifizierer und TypKlasseBeschreibungprotected static enum
Zustand der Sendesteuerung (Senden / Anhalten / Abbrechen). -
Feldübersicht
FelderModifizierer und TypFeldBeschreibungprotected de.bsvrz.dav.daf.main.config.AttributeGroup
Attributgruppe für Archiv-Anfragen.protected final ByteArrayOutputStream
Wiederverwendbarer ByteArrayOutputStream.protected de.bsvrz.dav.daf.main.DataDescription
Datenidentifikation der Archiv-Antwort.protected de.bsvrz.sys.funclib.dataSerializer.Deserializer
Der Deserialisierer aus DAF.protected de.bsvrz.dav.daf.main.Data
Dieses Datenobjekt wird zum Senden des Ergebnisses verwendetprotected de.bsvrz.dav.daf.main.ResultData
Wird zum Senden verwendet (muss nur einmal angelegt werden)protected de.bsvrz.dav.daf.main.config.SystemObject
Applikations-Objekt des Absenders der Archiv-Anfrage.protected int
Anfrage-Index der anfragenden Applikation zur Archiv-Anfrage.protected QueryTask.SendingState
Aktueller Zustand der Sendesteuerung.protected de.bsvrz.sys.funclib.dataSerializer.Serializer
Der Serialisierer aus DAF.protected int
Serialisiererversion der anfragenden Applikation, mit der auch die Antwort erstellt wird.protected final Object
Spezielles Objekt zur Synchronisiserung.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
KonstruktorenKonstruktorBeschreibungQueryTask
(ArchiveManager archiveMgr, MultiTaskManager tMgr) Konstruktor für den QueryTask. -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungprotected void
Legt alle Datenstrukturen an, die zu Beginn der Anfrage ermittelt werden können.void
dataRequest
(de.bsvrz.dav.daf.main.config.SystemObject object, de.bsvrz.dav.daf.main.DataDescription dataDescription, byte state) void
protected void
init()
Initialisiert den Task für eine neue Anfrage.boolean
isRequestSupported
(de.bsvrz.dav.daf.main.config.SystemObject object, de.bsvrz.dav.daf.main.DataDescription dataDescription) protected static de.bsvrz.dav.daf.main.archive.ArchiveDataSpecification[]
parseArchiveDataSpec
(de.bsvrz.sys.funclib.dataSerializer.Deserializer ds, de.bsvrz.dav.daf.main.config.DataModel dataModel) Interpretiert die empfangene Archivanfrage oder Archiv-Informationsanfrage und zerlegt sie in einzelne Unterabfragen vom Typ ArchiveDataSpecification.protected void
sendResultData
(byte[] resultBytes, int msgType) Sendet das übergebene Byte-Array in einem Ergebnis-Datensatz (ResultData
) an das Empfaenger-Applikations-Objekt.protected void
Meldet den Task als Sender für Archiv-Antworten an das angegebene Empfaenger-Applikations-Objekt an.protected void
Meldet den Task als Sender für Archiv-Antworten an das angegebene Empfaenger-Applikations-Objekt ab.protected QueryTask.SendingState
Wartet darauf, dass es eine positive Sendesteuerung für das Verschicken der Antworten gibt.Von Klasse geerbte Methoden de.bsvrz.ars.ars.mgmt.tasks.MultiTask
setTaskIndex, work, work
Von Klasse geerbte Methoden de.bsvrz.ars.ars.mgmt.tasks.QueueTask
step, submit, terminateTask
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, cleanUp, getName, getState, isAlive, isTerminated, join, removeTaskStepListener, setName, start, taskStepDone
Von Klasse geerbte Methoden de.bsvrz.ars.ars.mgmt.tasks.Task
getDidTree, getPersistenceManager, shouldTerminate, suspendTaskIfNecessary
-
Felddetails
-
sendingState
Aktueller Zustand der Sendesteuerung. -
syncObj
Spezielles Objekt zur Synchronisiserung. Immer dieses anstatt this verwenden! -
queryAppObj
protected de.bsvrz.dav.daf.main.config.SystemObject queryAppObjApplikations-Objekt des Absenders der Archiv-Anfrage. -
atgQuery
protected de.bsvrz.dav.daf.main.config.AttributeGroup atgQueryAttributgruppe für Archiv-Anfragen. -
ddResponse
protected de.bsvrz.dav.daf.main.DataDescription ddResponseDatenidentifikation der Archiv-Antwort. -
queryIdx
protected int queryIdxAnfrage-Index der anfragenden Applikation zur Archiv-Anfrage. -
serializerVersion
protected int serializerVersionSerialisiererversion der anfragenden Applikation, mit der auch die Antwort erstellt wird. -
gData
protected de.bsvrz.dav.daf.main.Data gDataDieses Datenobjekt wird zum Senden des Ergebnisses verwendet -
gResultData
protected de.bsvrz.dav.daf.main.ResultData gResultDataWird zum Senden verwendet (muss nur einmal angelegt werden) -
bosResult
Wiederverwendbarer ByteArrayOutputStream. -
serializer
protected de.bsvrz.sys.funclib.dataSerializer.Serializer serializerDer Serialisierer aus DAF. -
deserializer
protected de.bsvrz.sys.funclib.dataSerializer.Deserializer deserializerDer Deserialisierer aus DAF.
-
-
Konstruktordetails
-
QueryTask
Konstruktor für den QueryTask.- Parameter:
archiveMgr
- Der Archiv-Manager.tMgr
- Der MultiTaskManager.
-
-
Methodendetails
-
waitForSendControl
Wartet darauf, dass es eine positive Sendesteuerung für das Verschicken der Antworten gibt. Diese Methode wartet so lange, wie eine negative Sendesteuerung besteht.- Gibt zurück:
- In der Regel
QueryTask.SendingState.SEND
, außer es tritt ein Fehler oder Timeout auf. Der Aufrufer muss den Rückgabewert auswerten und entsprechend reagieren. - Löst aus:
InterruptedException
- Unterbrochen
-
getObjectsFromDav
public void getObjectsFromDav()- Setzt außer Kraft:
getObjectsFromDav
in KlasseMultiTask
-
init
protected void init()Initialisiert den Task für eine neue Anfrage. -
isRequestSupported
public boolean isRequestSupported(de.bsvrz.dav.daf.main.config.SystemObject object, de.bsvrz.dav.daf.main.DataDescription dataDescription) - Angegeben von:
isRequestSupported
in Schnittstellede.bsvrz.dav.daf.main.ClientSenderInterface
-
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
-
subscribeSender
protected void subscribeSender() throws de.bsvrz.dav.daf.main.OneSubscriptionPerSendDataMeldet den Task als Sender für Archiv-Antworten an das angegebene Empfaenger-Applikations-Objekt an. Registriert den StreamMultiplexer für den Empfang von Flusskontroll-Steuerungspaketen.- Löst aus:
de.bsvrz.dav.daf.main.OneSubscriptionPerSendData
- Anmeldung besteht bereits
-
unsubscribeSender
protected void unsubscribeSender()Meldet den Task als Sender für Archiv-Antworten an das angegebene Empfaenger-Applikations-Objekt ab. -
createQueryData
protected void createQueryData() throws de.bsvrz.sys.funclib.dataSerializer.NoSuchVersionExceptionLegt alle Datenstrukturen an, die zu Beginn der Anfrage ermittelt werden können.- Löst aus:
de.bsvrz.sys.funclib.dataSerializer.NoSuchVersionException
- Angefragte Serialisierer-Version ist nicht vorhanden
-
sendResultData
protected void sendResultData(byte[] resultBytes, int msgType) Sendet das übergebene Byte-Array in einem Ergebnis-Datensatz (ResultData
) an das Empfaenger-Applikations-Objekt.- Parameter:
resultBytes
- Zu versendendes Byte-ArraymsgType
- ArchivNachrichtenTyp wie definiert inMessageType
-
parseArchiveDataSpec
protected static de.bsvrz.dav.daf.main.archive.ArchiveDataSpecification[] parseArchiveDataSpec(de.bsvrz.sys.funclib.dataSerializer.Deserializer ds, de.bsvrz.dav.daf.main.config.DataModel dataModel) throws IOException Interpretiert die empfangene Archivanfrage oder Archiv-Informationsanfrage und zerlegt sie in einzelne Unterabfragen vom Typ ArchiveDataSpecification.- Parameter:
ds
- Deserialisierer mit der Anfrage.dataModel
- Datenmodell- Gibt zurück:
- Feld von Unterabfragen vom Typ ArchiveDataSpecification.
- Löst aus:
IOException
- Allgemeiner IO-Fehler
-