Antwortweg AMQP
Einführung: Eine Beschreibung dieser Phase finden Sie im Abschnitt Phase 6 (Einführung).
Hinweis: Siehe auch Abschnitt Dateinamen, Dateimuster, Pfade, System-Konstanten und Variablen.
(1) Auswahl eines AMQP-Aliases.
(2) Auswahl des Typs (Publish, Routing, Topic oder RPC). Der Typ RPC ist synchron, die anderen asynchron. Hinweis: Wenn Sie Style RPC verwenden, dann müssen Sie auch ein Folge-Profil angeben. Siehe (4). Der Grund ist, dass ein RPC-Aufruf eine Response erzeugt und diese wird dann vom Folgeprofil entgegengenommen.
(3) Name der Queue, an die gesendet wird, bzw. Name des Topics. Hinweis: Siehe z. B. https://www.rabbitmq.com/getstarted.html.
(4) Haben Sie in (2) den Typ RPC ausgewählt, muss hier ein Folge-Profil angegeben werden. Das Profil muss einen Eingangsagenten des Typs Message haben und aktiv sein.
(5) Gibt die Zeit in Sekunden an, die eine Message benötigen darf, um gesendet und verarbeitet zu werden.
Bei synchroner Message wartet das Profil so lange, bis das Ziel-Profil seine Verarbeitung (erfolgreich oder mit Fehler) beendet hat. Wird dabei die hier eingestellte Zeit überschritten, bricht dieser Antwortweg mit Fehler ab, obwohl vielleicht das Ziel-Profil später erfolgreich endet.
Bei asynchroner bzw. persistenter Message wartet das Profil nicht auf das Ziel-Profil, sondern der Antwortweg endet erfolgreich nach Übergabe der Daten. Die Message selbst hat hier aber eine endliche Lebenszeit. Konnte Sie nach dieser Zeit nicht vom Ziel-Profil angenommen werden, wird sie gelöscht. Die hier eingestellte Zeit ist die maximale Lebenszeit der Message. Hinweis: Die minimale Lebenszeit beträgt 12 Stunden (unabhängig vom eingestellten Wert).
(6) Eine Message kann drei unterschiedliche Arten haben.
Synchron. Das Profil sendet die Message und macht erst dann weiter, wenn die Antwort erfolgt ist.
Asynchron. Das Profil sendet die Message und macht sofort weiter. Die Antwort ist unerheblich für die weitere Profilausführung.
Persistent. Arbeitet analog zu Asynchron. Als Erweiterung wird aber bei fehlender Gegenstelle die Message abgespeichert und versucht alle 50 ms die Message zu senden. Konnte in der Zeit (5) kein Erfolg erreicht werden, geht die Message verloren.
(7) Mit dieser Checkbox markieren Sie, dass es sich bei der angegebenen Queue um eine "durable" Queue handelt (eine solche Queue überlebt einen Neustart des Brokers). Siehe auch Abschnitt AMQP-Anbindung. Hinweis: Gilt nicht für Typ RPC.
(8) Der Routing Key ist ein Message-Attribut, das der Server verwendet, um zu entscheiden, wie die Nachricht an Queues weitergeleitet werden soll. Für Details verwenden Sie bitte die Dokumentation des verwendeten AMQP-Servers, z. B. hier für RabbitMQ. Hinweis: Gilt nicht für Typ Publish.
AMQP Message Properties
Um eine Message Property zu setzen, muss man im Profil eine System-Variable der Form AMQP_<Name der Message Property> angelegt werden (Groß- und Kleinschreibung in der Property wird beachtet). Beispiel: Mit der Variable AMQP_TTL können sie die Message Property TTL setzen.
Besonderheit AMQP 0.9.1
Wenn Sie AMQP 0.9.1 verwenden, können nur bestimmte Message Properties mit den folgenden System-Variablen gesetzt werden.
AMQP_091BASIC_CONTENT_TYPE
AMQP_091BASIC_CONTENT_ENCODING
AMQP_091BASIC_MESSAGE_ID
AMQP_091BASIC_TIMESTAMP
AMQP_091BASIC_EXPIRATION
AMQP_091BASIC_APP_ID
AMQP_091BASIC_USER_ID
AMQP_091BASIC_TYPE
AMQP_091BASIC_PRIORITY
AMQP_091BASIC_CORRELATION_ID
AMQP Message Headers
Wenn Sie AMQP 1.0 verwenden, können Sie Message Header mit System-Variablen der Form AMQP_SYS_<Name des Headers> setzen (Groß- und Kleinschreibung im Header wird beachtet).
Message Type
Per Default übergibt der Antwortweg AMQP/JMS Daten an den empfangenden Server als Byte-Nachricht. Um das zu ändern, da manche Server damit nicht zurecht kommen, kann im Profil die System-Variable AMQP_JMS_TEXTMESSAGE mit dem Wert true angelegt werden, dann werden die Daten als Text-Nachricht übergeben. Zudem muss im Antwortweg die Kodierung auf UTF-8 gesetzt sein.