AMQP-Verbindungen (und JMS)
Hier werden bestehende AMQP- und JMS-Verbindungen angezeigt. Über das Kontextmenü können Sie diese bearbeiten und löschen oder neue anlegen.
AMQP-Verbindung erstellen
(1) Version: Die AMQP-Version (0.9.1 oder 1.0). Der Wert JMS ist für JMS-Verbindungen, siehe unten. Siehe hier auch die folgenden Abschnitte. Hinweis: Bei AMQP-Verbindungen der Version 1.0 (und nur dort) wird der Message Header ContentType mit dem Wert der System-Variable AMQP_SYS_ContentType gesetzt. Die Message Property ContentType hingegen wird mit AMQP_ContentType gesetzt. Beispielwert: application/json
(2) Alias: Hier geben Sie den Alias des angebundenen AMQP-Servers an. Diesen können Sie dann im Eingangsagenten AMQP/JMS und im Antwortweg AMQP/JMS verwenden. Hinweis: Der Alias (und damit die Verbindung) wird aktiviert, wenn die entsprechende Checkbox gesetzt ist.
(3) Host/IP, Port: Die URL/IP und der Port des AMQP-Servers. Der Default-Port ist 5672.
(4) Ist eine SSL-Verbindung: Wenn SSL aktiv ist, wird der Keystore mit dem Client-Zertifikat im PKCS#12-Format als Datei ./conf/amqp/<alias>/keycert.p12 erwartet. Der Truststore, der die öffentlichen Schlüssel des Servers enthält, wird als Datei ./conf/amqp/<alias>/trustStore erwartet. Keystore und Truststore müssen mit der gleichen Passphrase (7) geschützt sein. Obfuskation ist zugelassen. Siehe auch (5).
(5) Zertifikat: Alternativ zur Verwendung eines Truststores, kann hier ein Zertifikat ausgewählt werden. Das Zertifikat muss die Option TLS Client gesetzt haben. Wurde eines ausgewählt, dann wird der Wert in (7) gelöscht und das Feld wird ausgeblendet.
(6) Benutzername, Kennwort: Falls nötig.
(7) Passphrase für SSL KeyStore: Wenn (4) gesetzt ist, aber keine Passphrase angegeben wird (und (5) nicht gesetzt ist), dann wird in der SSL-Verbindung kein Client-Zertifikat verwendet und das Server-Zertifikat nicht geprüft. Keystore und Truststore sind dann nicht nötig.
Besonderheiten bei AMQP-Version 0.9.1
(8) Virtueller Host: Siehe https://www.rabbitmq.com/vhosts.html.
(9) Verbindungs-Timeout in Sek: Der Verbindungs-Timeout in Sekunden sollte größer als 0 angegeben sein. Der Wert 0 bedeutet kein Timeout.
(10) Queue muss vorhanden sein: Bei gesetzter Checkbox wird die Queue nicht angelegt, falls sie nicht vorhanden ist. Gegebenenfalls erzeugt das einen Fehler, wenn ein Profil sich mit einem Eingangsagenten des Typs AMQP/JMS auf einer Queue anmelden möchte, die nicht vorhanden ist.
(11) Entferne Queue mit letztem Subscriber: Bei gesetzter Checkbox wird eine Queue, auf die kein Profil mehr "hört", entfernt. Das kann sinnvoll sein, wenn Queues nur von Lobster Integration genutzt werden.
Hinweis: Sie finden diese Einstellungen für (10) und (11) auch in der Konfigurationsdatei ./etc/startup.xml.
<
Set
name
=
"QueuesMustExist"
>false</
Set
>
<
Set
name
=
"RemoveQueueOnLastConsumer"
>true</
Set
>
JMS-Verbindung erstellen
Hierüber kann direkt ein JMS-Server angebunden werden. JMS-Queues können dann mit dem AMQP/JMS-Eingangsagenten ausgelesen werden und mit dem AMQP/JMS-Antwortweg kann auf JMS-Queues geschrieben werden.
Hinweis: Die Jar-Datei Ihres JMS-Servers kopieren Sie bitte in Ordner ./extlib (z. B. activemq-all-5.10.0.jar).
Einstellungen
(12) Version: Verwenden Sie hier den Wert "JMS".
(13) JMS Naming Factory: Hier muss die initiale JNDI Context Factory des JMS-Servers angegeben werden. Bei der Verwendung von ActiveMQ, können Sie hier z. B. den Wert org.apache.activemq.jndi.ActiveMQInitialContextFactory benutzen.
(14) JMS Naming Factory Key: Hier muss der Name der Connection Factory (der Context Factory) angegeben werden. Bei der Verwendung von ActiveMQ, können Sie den Default-Wert "ConnectionFactory" benutzen.
(15) JMS Provider URL: Die URL Ihres JMS-Servers. Beispiel: "tcp://192.168.132.58:61616". Hinweis: SSL ist bei JMS leider nicht sehr generisch. Die URL sollte mit ssl://<broker> statt tcp://<broker> beginnen (außer der Hersteller macht auch hier bereits was anders). Das Zertifikat sollte im Keystore liegen (außer man kann auch dieses mit JMS Properties überschreiben/mitgeben). Zudem sollten die beiden JMS Properties jms.ssl.certificate.username und jms.ssl.certificate.password definiert sein, siehe (17).
(16) JMS Client ID: Hier kann optional eine Client ID für die Connection (Verbindung) angegeben werden. Eine Client ID wird verwendet, um eine Anwendung eindeutig zu identifizieren. Das ist z. B. bei dauerhaften Abonnements ("durable subscriptions") notwendig. Details hierzu finden Sie in der Dokumentation Ihres JMS-Servers.
(17) JMS Properties: Hier können optional weitere JMS Properties der Connection (Verbindung) gesetzt werden. Details hierzu finden Sie auch hier in der Dokumentation Ihres JMS-Servers.
Azure Service Bus
Legen Sie zuerst die aktuellen Apache-Qpid-Treiber-jars (qpid-jms-driver und proton-j) ab im Verzeichnis ./extlib.
Bei folgenden Punkten müssen Sie spezifische Werte eintragen.
(13) Tragen Sie den Wert org.apache.qpid.jms.jndi.JmsInitialContextFactory ein.
(14) Tragen Sie den Wert SBCF ein.
(15) Tragen Sie den Wert amqps://<SERVICEBUS_NAMESPACE> ein. Den <SERVICEBUS_NAMESPACE> können Sie bei Ihrem Azure-Admin erfragen.
(17) Hier müssen Sie folgende Properties einfügen. Zuerst für die Anmeldung:
java.naming.security.principal=RootManageSharedAccessKey
java.naming.security.credentials=<PRIMARY_KEY_VALUE>
Zudem muss für jede Queue ein Property folgender Art angelegt werden:
queue.<IDENTIFIER>=<SERVICEBUS_QUEUE_NAME>
Den <PRIMARY_KEY_VALUE> und den <SERVICEBUS_QUEUE_NAME> können Sie ebenfalls bei Ihrem Azure-Admin erfragen. Den Wert <IDENTIFIER> können Sie frei vergeben. Diesen verwenden Sie dann in einem Profil als den Queue-Namen.