Konfigurieren des JMS Providers
Abhängig von Ihrem Message Broker kann eine zusätzliche Konfiguration erforderlich sein, um JMS zu aktivieren.

Die JMS-Unterstützung für Apache ActiveMQ ist in FME Flow vorkonfiguriert. Es ist keine zusätzliche Konfiguration erforderlich. Für eine vollständige Referenz siehe JNDI-Unterstützung. (JMS nutzt das Java Naming und Directory Interface (JNDI), um benannte Objekte dynamisch aus dem Message Broker abzurufen.)
Bei der Verwendung von Apache ActiveMQ mit JMS ist Folgendes zu beachten:
- FME Flow stellt über den in der XML-Konfigurationsdatei des Message Brokers angegebenen Transport-Connector eine Verbindung zu ActiveMQ her. Standardmäßig ist die URL tcp://hostname:61616.
-
FME Flow verbindet sich als JMS-Client über ein nach einer Verbindungsfactory benanntes Objekt mit ActiveMQ und referenziert ActiveMQ-Themen oder -Warteschlangen über ein Zielnamen-Objekt. Die benannten Objekte werden typischerweise über die JNDI-Konfigurationsdatei jndi.properties spezifiziert. Für weitere Informationen, siehe JNDI-Unterstützung.
-
In der einfachsten Konfiguration ist die Datei jndi.properties nicht erforderlich. Standardmäßig ist der Name der Connection Factory auch ConnectionFactory. ActiveMQ bietet auch Möglichkeiten zur dynamischen Verbindung zu Warteschlangen und Themen über die speziellen Zielnamen dynamicQueues/<queue> und dynamicTopics/<topic>.

Für IBM WebSphere 7 muss ein Satz von JMS Administered Objects erstellt werden, um eine Verbindung mit JMS herzustellen. Der einfachste Weg hierfür ist die Verwendung von MQ Explorer.
- Installieren und starten Sie MQ Explorer auf dem Computer mit der Installation von FME Flow.
- Fügen Sie eine Verbindung zum gewünschten Warteschlangenmanager hinzu.
- Klicken Sie in der Navigation auf der linken Seite mit der rechten Maustaste auf "Queue Managers" und wählen Sie "Add Remote Queue Manager".
- Geben Sie im Assistenten folgende Parameter an:
Name des Warteschlangenmanagers | qm (beispielsweise) |
Verbindungsmethode | Direkte Verbindung |
Hostname oder IP-Adresse | server (beispielsweise) |
Port-Nummer | 1414 |
Serververbindungskanal | SYSTEM.ADMIN.SVRCONN (beispielsweise) |
- Stellen Sie sicher, dass sowohl der angegebene Server-Verbindungskanal (voreingestellt: SYSTEM.ADMIN.SVRCONN) und ein Listener für den angegebenen TCP-Port (voreingestellt: LISTENER.TCP) beide aktiviert sind.
- Wählen Sie "Finish", um den Assistenten abzuschließen. Eine neue Verbindung zu einem entfernten Warteschlangenmanager sollte erscheinen.
- Erstellen Sie einen JMS-Anfangskontext.
- Klicken Sie in der Navigation auf der linken Seite mit der rechten Maustaste auf "JMS Administered Objects" und wählen Sie "Initial Context hinzufügen".
- Geben Sie im Assistenten folgende Parameter an:
Speicherort des JNDI-Namensraums | Dateisystem |
Verzeichnis | c:\jndi (beispielsweise) |
Provider URL | file:/C:/jndi/ (beispielsweise) |
- Wählen Sie "Finish", um den Assistenten abzuschließen. Ein neuer Anfangskontext sollte erscheinen.
- Erstellen Sie eine JMS Connection Factory.
- Klicken Sie unter dem neu erstellten Anfangskontext mit der rechten Maustaste auf "Connection Factories" und wählen Sie "New / Connection Factory".
- Geben Sie im Assistenten folgende Parameter an:
Name | cf1 (beispielsweise) |
Nacrichten-Provider | WebSphere MQ |
Type | ConnectionFactory |
Transport | MQ Client |
Verbindung/Basis-Warteschlangenmanager | qm (beispielsweise) |
Verbindung/Verbindung-Liste | server (1414) (beispielsweise) |
Kanal/Kanal | c1 (beispielsweise) |
- Stellen Sie sicher, dass der Warteschlangenmanager und die Verbindungsparameter mit denen des oben angegebenen Warteschlangenmanagers übereinstimmen.
- Wählen Sie "Finish", um den Assistenten abzuschließen. Die neue Connection Factory erscheint.
- Erstellen Sie ein JMS-Ziel für jede gewünschte Warteschlange oder für ein Thema.
- Wählen Sie "Queues" oder "Topics" unter dem Warteschlangenmanager aus, um die aktuelle Liste der Warteschlangen oder Themen aufzurufen.
- Klicken Sie mit der rechten Maustaste auf die gewünschte Warteschlange oder das gewünschte Thema und wählen Sie "Create JMS Queue" or "Create JMS Topic".
- Geben Sie im Assistenten das JMS-Objekt mit einem Namen an (Beispiel: q1oder t1).
- Klicken Sie auf "Finish", um den Assistenten zu verlassen. Das neue Ziel wird unter Ziele für den initialen JMS-Kontext angezeigt.
- Konfigurieren Sie die Sicherheit nach Bedarf mit dem Werkzeug setmqaut. Um beispielsweise den Zugriff auf einen Warteschlangenmanager zu aktivieren, führen Sie den folgenden Befehl aus:
setmqaut -m qm -t qmgr -g Users +inq +connect
Um einer bestimmten Benutzergruppe "Users" den Zugriff auf eine Warteschlange oder ein Thema zu ermöglichen, führen Sie den folgenden Befehl aus:
setmqaut -m qm -t queue -n q1 -g Users +get +inq +browse
setmqaut -m qm -t topic -n t1 -g Users +sub
Um dem Produzenten Zugriff auf eine Warteschlange oder auf ein Thema einer bestimmten Benutzergruppe "Users" zu ermöglichen, führen Sie den folgenden Befehl aus:
setmqaut -m qm -t queue -n q1 -g Users +put
setmqaut -m qm -t topic -n q1 -g Users +pub

- Erstellen Sie eine JMS-Warteschlange im Weblogic Server mit Hilfe des Beispiels unter https://blogs.oracle.com/soaproactive/entry/how_to_create_a_simple.
- Suchen Sie in Ihrer Weblogic-Installation die Datei wlthint3client.jar und kopieren Sie sie in den Ordner <FMEFlowDir>/Server/lib/jms/.
Was ist der nächste Schritt?
Um FME Flow auf die neu installierten JMS-Bibliotheken aufmerksam zu machen, fahren Sie mit dem Schritt Konfigurieren von FME Flow als JMS-Client fort.