Anwendungen, die Befehlsnachrichten an den Broker senden, verwenden die folgenden Einstellungen in den Feldern des Nachrichtendeskriptors (MQMD). Felder, deren Standardwert übernommen wird oder die auf die übliche Weise auf einen beliebigen Wert gesetzt werden können, sind nicht aufgeführt.
- Report
- Siehe MsgType und CorrelId (unten).
- MsgType
- MsgType sollte für eine Befehlsnachricht auf MQMT_REQUEST gesetzt werden, wenn eine Antwort immer erforderlich ist. Die Attribute MQRO_PAN und MQRO_NAN im Feld Report spielen in diesem Fall keine Rolle.
Wird
MsgType auf MQMT_DATAGRAM gesetzt, hängen die Antworten von den Attributen MQRO_PAN und MQRO_NAN im Feld
Report ab:
- Ist nur MQRO_PAN gesetzt, sendet der Broker nur dann eine Antwort, wenn der Befehl erfolgreich ausgeführt wurde.
- Ist nur MQRO_NAN gesetzt, sendet der Broker nur dann eine Antwort, wenn die Befehlsausführung fehlgeschlagen ist.
- Endet die Ausführung eines Befehls mit einer Warnung, wird eine Warnung gesendet, wenn MQRO_PAN
oder MQRO_NAN gesetzt ist.
- Sind beide Attribut (MQRO_PAN + MQRO_NAN) gesetzt, sendet der Broker immer eine Antwort, unabhängig davon, ob der Befehl erfolgreich ausgeführt wurde oder nicht. Von Brokerseite her hat dies dieselbe Auswirkung wie der Wert MQMT_REQUEST im Feld MsgType.
- Wird weder MQRO_PAN noch MQRO_NAN gesetzt, wird in keinem Fall eine Antwort gesendet.
- Format
- Setzen Sie dieses Feld auf MQFMT_RF_HEADER_2.
- MsgId
- Normalerweise wird dieses Feld auf MQMI_NONE gesetzt, so dass der Warteschlangenmanager einen eindeutigen Wert generiert.
- CorrelId
- Dieses Feld kann auf einen beliebigen Wert gesetzt werden. Gehört zur Identität des Absenders eine CorrelId, sollten Sie diese ID zusammen mit dem Wert MQRO_PASS_CORREL_ID im Feld Report angeben, um sicherzustellen, dass sie in allen Antwortnachrichten gesetzt wird, die vom Broker an den Absender gehen.
- ReplyToQ
- Dieses Feld gibt die Warteschlange an, an die eventuelle Antworten gesendet werden.
Hier kann die Warteschlange des Absenders angegeben werden; in diesem Fall kann der Parameter QName weggelassen werden. Sollen Antworten an eine andere Warteschlange gesendet werden, ist die Angabe von QName allerdings erforderlich.
- ReplyToQMgr
- Dieses Feld gibt den Warteschlangenmanager für Antworten an. Bleibt dieses Feld leer (Standardwert), setzt der lokale Warteschlangenmanager den eigenen Namen in diesem Feld.