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.
Modifier and Type | Field and Description |
---|---|
private ArchiveQueryID |
_client |
private int |
_currentlyUsedQueries |
private static Debug |
_debug
DebugLogger für Debug-Ausgaben
|
private short |
_defaultSimulationVariant
Falls keine Simulationsvariante gesetzt wird, dann wird dieser default-Wert benutzt.
|
private java.lang.String |
_errorMessage |
private boolean |
_lock
Diese Variable sperrt alle Anfrage, bis die Antwort des Archivsystems vorliegt.
|
private int |
_maxArchiveQueriesPerApplication |
private boolean |
_requestSuccessful
Diese Variable speichert, ob die Infoanfrage erfolgreich war.
|
private StreamedArchiveRequester |
_streamedArchiveRequester |
Constructor and Description |
---|
RequestNumQueries(ArchiveQueryID archiveRequestID,
StreamedArchiveRequester streamedArchiveRequester,
short defaultSimulationVariant) |
Modifier and Type | Method and Description |
---|---|
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.
|
private void |
sendData() |
void |
sendRequestInfo()
Diese Methode verschickt eine Archivinfoanfrage an das entsprechende Archivsystem und meldet sich wieder als Sender ab.
|
private final ArchiveQueryID _client
private static final Debug _debug
DebugLogger für Debug-Ausgaben
private java.lang.String _errorMessage
private boolean _lock
Diese Variable sperrt alle Anfrage, bis die Antwort des Archivsystems vorliegt.
private boolean _requestSuccessful
Diese Variable speichert, ob die Infoanfrage erfolgreich war.
private final StreamedArchiveRequester _streamedArchiveRequester
private final short _defaultSimulationVariant
Falls keine Simulationsvariante gesetzt wird, dann wird dieser default-Wert benutzt.
private int _maxArchiveQueriesPerApplication
private int _currentlyUsedQueries
public RequestNumQueries(ArchiveQueryID archiveRequestID, StreamedArchiveRequester streamedArchiveRequester, short defaultSimulationVariant)
public int getMaximumArchiveQueriesPerApplication()
ArchiveNumQueriesResult
Gibt die im Archivsystem fest eingestellte maximale Anzahl an gleichzeitigen Archivanfragen pro Applikation zurück.
getMaximumArchiveQueriesPerApplication
in interface ArchiveNumQueriesResult
public int getCurrentlyUsedQueries()
ArchiveNumQueriesResult
Gibt die (aus Sicht des Archivsystems) aktuelle Anzahl der derzeit aktiven Archivanfragen dieser Applikation zurück.
getCurrentlyUsedQueries
in interface ArchiveNumQueriesResult
public int getRemainingQueries()
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.
getRemainingQueries
in interface ArchiveNumQueriesResult
public boolean isRequestSuccessful() throws java.lang.InterruptedException
Diese Methode ist blockierend, bis die Antwort des Archivs vorliegt.
isRequestSuccessful
in interface ArchiveQueryResult
getErrorMessage
angezeigt werdenjava.lang.InterruptedException
- Der Thread, der den Auftrag bearbeitet, wurde abgebrochenpublic java.lang.String getErrorMessage() throws java.lang.InterruptedException
Diese 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.
getErrorMessage
in interface ArchiveQueryResult
java.lang.InterruptedException
- Der Thread, der den Auftrag bearbeitet, wurde abgebrochenpublic void sendRequestInfo()
Diese Methode verschickt eine Archivinfoanfrage an das entsprechende Archivsystem und meldet sich wieder als Sender ab.
private void sendData()
public void archiveResponse(Data data)
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.
public ArchiveQueryID getArchiveRequestID()