JMS Subscriber
Der JMS Subscriber empfängt Benachrichtigungen von Themen und leitet sie an JMS-kompatible Nachrichtenbroker (z. B. IBM WebSphere MQ) weiter.
Einrichten eines JMS-Nachrichtenbrokers mit FME Flow
Bevor Sie einen JMS Subscriber konfigurieren, müssen Sie einen JMS-Broker einrichten, um mit FME Flow zu arbeiten. Die Schritte hängen von dem von Ihnen verwendeten Broker ab und werden im folgenden Abschnitt erläutert (gilt sowohl für den JMS Subscriber als auch für den JMS Publisher):
Erstellen eines JMS Subscribers für FME Flow
- Wählen Sie in der FME Flow-Web-Benutzeroberfläche die Option Benachrichtigungen > Subskriptionen und klicken Sie auf Neu.
- Geben Sie einen Namen für die Subskription an.
- Geben Sie JMS für das Protokoll an.
-
Legen Sie die Themen fest, für die Sie die Subskription vornehmen wollen, indem Sie den Dropdown-Selektor verwenden. Um ein Thema zu erstellen, das Sie direkt verwenden können, klicken Sie auf +.
- Geben Sie die JMS-spezifischen Felder für den Subscriber an
- Klicken Sie auf OK.

Provider-Typ oder Kontext | Der Nachrichtenbroker, zu dem eine Verbindung hergestellt werden soll, oder die anfängliche Kontext-Factory, wenn der Broker nicht aufgeführt ist. |
Provider-URL | Die URL des Verzeichnisses, das Verbindungsdetails für den JMS-Provider enthält. |
Zusätzliche Provider-Eigenschaften | Alle zusätzlichen anbieterspezifischen Eigenschaften in der Form Schlüssel=Wert. Beispiel: randomize=false. Geben Sie mehrere Paare in separaten Zeilen an. In den meisten Fällen wird dieses Feld nicht benötigt. Die von Safe getesteten JMS-Broker, einschließlich Apache ActiveMQ, IBM Websphere MQ und Oracle WebLogic JMS, benötigen zum Herstellen einer Verbindung keine zusätzlichen Eigenschaften. |
Verbindungsfactory | Der Name des Verbindungsfactory-Objekts. |
Benutzername | Ein authentifizierender Benutzername. |
Kennwort | Ein authentifizierendes Kennwort. |
Ziel(e) | Der Name des Zielobjekts bzw. der Zielobjekte. Diese entsprechen Warteschlangen und / oder Themen. Mehrere Ziele können durch Kommas getrennt angegeben werden. |
Ständige Zustellung | Wenn der Parameter auf "Ja" eingestellt ist, werden Nachrichten vom JMS-Broker gespeichert, bis die Nachricht an ein Ziel zugestellt wird, wobei Nachrichten bei einem Neustart des Brokers wiederhergestellt werden können. Wenn der Parameter auf "Nein" eingestellt ist, können Nachrichten verloren gehen, wenn ein Broker während der Zustellung neu gestartet wird. Die permanente Zustellung ist langsamer als die nicht permanente Zustellung, insbesondere wenn große Nachrichtenmengen gesendet werden. |
Vorlage für Inhalt der Benachrichtigung | Der Nachrichten-Body. |

Apache ActiveMQ Beispielkonfiguration
Java-Klassenpfad |
Keine Änderung notwendig (Apache ActiveMQ 5.6.0-Bibliotheken sind im Lieferumfang von FME Flow enthalten.) |
Provider-Typ oder Kontext | ACTIVEMQ |
Provider-URL | tcp://server:61616 |
Zusätzliche Provider-Eigenschaften | -- |
Verbindungsfactory | ConnectionFactory |
Benutzername |
-- |
Kennwort |
-- |
Ziel(e) | dynamicQueues/MyQueue |
IBM WebSphere 7 Beispielkonfiguration
Java-Klassenpfad | ... -FMESERVER_CLASSPATH "...;C:/Programme (x86)/IBM/WebSphere MQ/java/lib/*" ... |
Provider-Typ oder Kontext | WEBSPHERE70 |
Provider-URL | file:/C:/jndi/ |
Zusätzliche Provider-Eigenschaften | -- |
Verbindungsfactory | cf1 |
Benutzername | admin |
Kennwort | admin |
Ziel(e) | q1,t1 |
Oracle Weblogic Beispielkonfiguration
Provider-Typ oder Kontext | weblogic.jndi.WLInitialContextFactory |
Provider-URL | t3://bq-w2008:7001 |
Zusätzliche Provider-Eigenschaften | -- |
Verbindungsfactory | jms/TestConnectionFactory |
Benutzername |
-- |
Kennwort |
-- |
Ziel(e) | jms/TestJMSQueue |
Vorlage für Inhalt der Benachrichtigung
Die Vorlage für den Inhalt der Benachrichtigung verwendet die folgenden Schlüsselwörter in der eingehenden Benachrichtigung:
{
"location": "<location>"
"subscriber_content": "custom_message"
}
Wenn der Schlüssel "subscriber_content" vorhanden ist, überschreibt er die Vorlage für den Inhalt der Benachrichtigung.
Betrachten Sie zum Beispiel folgende Vorlage für den Inhalt der Benachrichtigung:
Hello, {Location}
Wenn die eingehende Benachrichtigung Folgendes enthält:
{
"location": "world"
}
Der JMS Subscriber sendet die folgende Nachricht:
"Hello, world"
Wenn die eingehende Benachrichtigung Folgendes enthält:
{
"location": "world"
"subscriber_content": "My custom message"
}
Der JMS Subscriber sendet die folgende Nachricht:
"My custom message"