Für dieses Element ist ein How-To Artikel verfügbar.

Semantik


 

Mit dem <eoms-input-query-status>-Element ist es möglich, die Weiterverarbeitung so lange zu unterbrechen, bis das Element eine positive Rückmeldung des EOMS-Input-Servers, dass die Daten, die durch ein vorheriges <eoms-input-submit> versendet wurden, im Server eingegangen sind (d.h. aber nicht, dass sie auch erfolgreich verarbeitet wurden). Das Element wartet maximal so lange wie in timeout angegeben. Ist timeout  abgelaufen und <eoms-input-query-status> hat keine positive Rückmeldung vom Server erhalten, wirft das Element eine Ausnahme (Exception) und die Verarbeitung bricht an diesem Punkt mit einer Fehlermeldung ab (nachfolgender Code wird nicht ausgeführt). Da sich <eoms-input-query-status> auf ein <eoms-input-submit>-Element bezieht (der Bezug wird über job hergestellt), muss dieses auch vor <eoms-input-query-status> notiert werden.

 

Attribute


 

AttributnameDatentypBeschreibungMögliche WerteStandardwertObligatorisch?
idSTRINGDie ID des Elements, über die es im Code angesprochen werden kann.beliebiger, regelkonformer Name.(Fehler)
jobSTRINGDie ID des <eoms-input-submit>, für das die Abfrage getätigt werden soll.ID eines existierenden <eoms-input-submit>

(Haken)
timeoutSTRING (long)Die Zeit in ms, die auf eine positive Rückmeldung des EOMS-Input-Servers gewartet werden soll.Numerische Zeitangabe in ms.1000 (ms)(Fehler)

 

Subelemente / Inhalt


 

Das <eoms-input-query-status>-Element besitzt keine Subelemente.

 

Variablenbindungen


 

Das <eoms-input-query-status>-Element ist vom Typ REQUEST-OBJECT und besitzt daher die gleichen Variablenbindungen wie das <eoms-input-submit>-Element. Dementsprechend beziehen sich auch die meisten Variablenbindungen auf das <eoms-input-submit>-Element, dass durch <eoms-input-query-data> abgefragt werden soll:

 

BindungBeschreibungRückgabetyp
getId()Gibt die Id des <eoms-input-query-status>-Elements zurück.STRING
getCreated()Gibt den Zeitpunkt, zu dem die Übertragung durch <eoms-input-submit> initialisiert wurde, zurück.DATE
getExpires()Gibt den Zeitpunkt, bis zu dem der <eoms-input-submit>-Vorgang gültig ist, zurück. Ab diesem Zeitpunkt wird der Vorgang verworfen, falls er noch nicht geendet hat.DATE
getMessages()Gibt die internen Messages zurück.LIST OF STRINGS
getProperties()Gibt die HashMap, die für den Übertragungsvorgang <eoms-input-submit> als variables übergeben wurde, zurück.MAP
getStatus()Gibt den Status des <eoms-input-submit> zurück. Kann entweder ACTIVE (aktiv) oder TERMINATED (fertig) sein.REQUESTSTATUS
getBody()Sollte nicht verwendet werden.SUBMITJOBREQUEST

 

Beispiel


 

In folgendem Beispiel wird die vom Aufrags-System (Spooler) durch <fetchresource> empfangene Ressource direkt an den EOMS-Input-Server gesendet. Mit übergeben wird eine HashMap, die per JavaScript erstellt wurde und per variables übergeben wird. Anschließend wird mit <eoms-input-query-status> die weitere Verarbeitung so lange unterbrochen, bis der EOMS-Input-Server meldet, dass die Übertragung des <eoms-input-submit> mit der id="submitJob" erfolgreich war. Erst dann wird die Verarbeitung fortgesetzt. So wird sichergestellt, dass weiterer Code nur ausgeführt wird, wenn der Vorgang auch erfolgreich war und es wird verhindert, dass mit inkonsistenten oder nicht vorhandenen Daten gearbeitet wird.

 

<rcml>	
	<process id="ExampleProcess" name="example process">
 
		<script language="JavaScript"><![CDATA[
             var submitVariables = new java.util.HashMap();
             submitVariables.put('EOMS_CLIENT', process['eoms.client']);
             submitVariables.put('EOMS_PROCEDURE', process['eoms.procedure']);
             submitVariables.put('EOMS_REFERENCE', process['eoms.reference']);
        ]]>
        </script>	
	
		<workdir id="workdir" home="./WORK"/>
  		<fetchresource id="inputFile" resource="${process['eoms.process.input']}"/>

  		<eoms-input-submit id="submitJob" file="inputFile" variables="${submitVariables}"/>
        
  		<eoms-input-query-status id="queryJobStatus" job="submitJob"/>

		<!-- Hier kann man jetzt sicher sein, dass die Daten erfolgreich übertragen wurden. -->
	</process>	
</rcml>
<eoms-input-query-status>
Zweck:

Statusabfrage

Typ:

Standalone

Elternelement:

Top-Level-Elemente

Subelemente:

Nein

Variablenbindungen:

Ja

Beachte

Falls <eoms-input-query-status> nach Ablauf von timeout keine positive Antwort vom EOMS-Input-Server erhält bricht die Verarbeitung mit einer Ausnahme (Exception) ab und nachfolgender Code wird nicht ausgeführt.

  • Keine Stichwörter