Antwortweg AMQP

Prev Next

Einstellungen

(1) Alias: Auswahl eines AMQP-Aliases.

(2) Typ: 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) Queue/Topic: Name der Queue, an die gesendet wird, bzw. Name des Topics. Hinweis: Siehe z. B. https://www.rabbitmq.com/getstarted.html.

(4) Folge-Profil: 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) Max. Verarbeit./Aufbw: 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) Message-Typ: 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) Persistent/Durable: 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). Hinweis: Gilt nicht für Typ "RPC".

(8) Routing Key: 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".

(9) Gesamten Job als gescheitert melden, wenn dieser Antwortweg fehlgeschlagen ist: Normalerweise gilt ein Job nicht notwendigerweise als fehlerhaft, wenn ein einzelner Antwortweg fehlschlägt (siehe Abschnitt Verhalten im Fehlerfall). Das kann hier aber mit dieser Option erzwungen werden.

(10) Zusätzlicher Text bei Fehler: Hier kann ein zusätzlicher Log-Text für den Fehlerfall angegeben werden.

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.

Body Type

Siehe System-Variable AMQP_SYS_BodyType.