Class RequestNumQueries
java.lang.Object
de.bsvrz.dav.daf.main.impl.archive.request.RequestNumQueries
- All Implemented Interfaces:
ArchiveNumQueriesResult
,ArchiveQueryResult
public class RequestNumQueries extends java.lang.Object implements ArchiveNumQueriesResult
Diese Klasse stellt ein Objekt zur Verfügung, über das eine Anfrage nach der Anzahl möglichen Archivanfragen (pro Applikation) gestartet werden
kann. Diese Klasse wird von der Klasse
StreamedArchiveRequester
benutzt.-
Constructor Summary
Constructors Constructor Description RequestNumQueries(ArchiveQueryID archiveRequestID, StreamedArchiveRequester streamedArchiveRequester, short defaultSimulationVariant)
-
Method Summary
Modifier and Type Method Description void
aborted(java.lang.String errorMessage)
Setzt eine Fehlermeldung und bewirkt, dass nicht weiter auf eine Antwort vom Archivsystem gewartet wird.void
archiveResponse(Data data)
Diese Methode wird aufgerufen, wenn die Antwort des Archivsystems empfangen wurde.ArchiveQueryID
getArchiveRequestID()
int
getCurrentlyUsedQueries()
Gibt die (aus Sicht des Archivsystems) aktuelle Anzahl der derzeit aktiven Archivanfragen dieser Applikation zurück.java.lang.String
getErrorMessage()
Diese Methode liefert einen String mit der Fehlermeldung, die dazu geführt hat das die Informationsanfrage nicht ausgeführt werden konnte.int
getMaximumArchiveQueriesPerApplication()
Gibt die im Archivsystem fest eingestellte maximale Anzahl an gleichzeitigen Archivanfragen pro Applikation zurück.int
getRemainingQueries()
Gibt die (aus Sicht des Archivsystems) aktuelle Anzahl der noch möglichen gleichzeitigen Archivanfragen dieser Applikation zurück.boolean
isRequestSuccessful()
Diese Methode ist blockierend, bis die Antwort des Archivs vorliegt.void
sendRequestInfo()
Diese Methode verschickt eine Archivinfoanfrage an das entsprechende Archivsystem und meldet sich wieder als Sender ab.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
RequestNumQueries
public RequestNumQueries(ArchiveQueryID archiveRequestID, StreamedArchiveRequester streamedArchiveRequester, short defaultSimulationVariant)
-
-
Method Details
-
getMaximumArchiveQueriesPerApplication
public int getMaximumArchiveQueriesPerApplication()Description copied from interface:ArchiveNumQueriesResult
Gibt die im Archivsystem fest eingestellte maximale Anzahl an gleichzeitigen Archivanfragen pro Applikation zurück.- Specified by:
getMaximumArchiveQueriesPerApplication
in interfaceArchiveNumQueriesResult
- Returns:
- maximale Anzahl an gleichzeitigen Archivanfragen pro Applikation
-
getCurrentlyUsedQueries
public int getCurrentlyUsedQueries()Description copied from interface:ArchiveNumQueriesResult
Gibt die (aus Sicht des Archivsystems) aktuelle Anzahl der derzeit aktiven Archivanfragen dieser Applikation zurück.- Specified by:
getCurrentlyUsedQueries
in interfaceArchiveNumQueriesResult
- Returns:
- Aktuell verwendete Anzahl an Archivanfragen
-
getRemainingQueries
public int getRemainingQueries()Description copied from interface:ArchiveNumQueriesResult
Gibt die (aus Sicht des Archivsystems) aktuelle Anzahl der noch möglichen gleichzeitigen Archivanfragen dieser Applikation zurück. Theoretisch kann eine Applikation noch die zurückgegebene Anzahl an Archivanfragen stellen, ohne dass es zu Problemen kommt. Aufgrund von Timing-Problemen kann das aber nicht immer garantiert werden.- Specified by:
getRemainingQueries
in interfaceArchiveNumQueriesResult
- Returns:
- Noch unbenutzes Kontigent an möglichen Archivanfragen für diese Applikation.
-
isRequestSuccessful
public boolean isRequestSuccessful() throws java.lang.InterruptedExceptionDiese Methode ist blockierend, bis die Antwort des Archivs vorliegt.- Specified by:
isRequestSuccessful
in interfaceArchiveQueryResult
- Returns:
- true = Die Anfrage konnte fehlerfrei bearbeitet werden; false = Während der Bearbeitung der Anfrage kam es zu einem Fehler, dieser kann
mit
getErrorMessage
angezeigt werden - Throws:
java.lang.InterruptedException
- Der Thread, der den Auftrag bearbeitet, wurde abgebrochen
-
getErrorMessage
public java.lang.String getErrorMessage() throws java.lang.InterruptedExceptionDiese Methode liefert einen String mit der Fehlermeldung, die dazu geführt hat das die Informationsanfrage nicht ausgeführt werden konnte. Dieser Aufruf blockiert solange, bis ein Ergebnis des Archivsystems vorliegt.- Specified by:
getErrorMessage
in interfaceArchiveQueryResult
- Returns:
- String mit einer Fehlermeldung
- Throws:
java.lang.InterruptedException
- Der Thread, der den Auftrag bearbeitet, wurde abgebrochen
-
aborted
public void aborted(java.lang.String errorMessage)Description copied from interface:ArchiveQueryResult
Setzt eine Fehlermeldung und bewirkt, dass nicht weiter auf eine Antwort vom Archivsystem gewartet wird.- Specified by:
aborted
in interfaceArchiveQueryResult
- Parameters:
errorMessage
- Fehlermeldung, mit der die Anfrage terminiert wird.
-
sendRequestInfo
public void sendRequestInfo()Diese Methode verschickt eine Archivinfoanfrage an das entsprechende Archivsystem und meldet sich wieder als Sender ab. -
archiveResponse
Diese Methode wird aufgerufen, wenn die Antwort des Archivsystems empfangen wurde. Die Antwort wird analysiert und die betreffenden Objekte zur Verfügung gestellt, wartende Threads werden benachrichtigt. -
getArchiveRequestID
- Returns:
- Eindeutige Identifikation der Archivanfrage (RequestInfo in diesem Fall)
-