JMS Publisher
Der JMS Publisher empfängt Nachrichten von JMS (Java Message System)-fähigen Brokern wie IBM WebSphere MQ und veröffentlicht sie in Themen.
Einrichten eines JMS-Nachrichtenbrokers mit FME Flow
Bevor Sie einen JMS Publisher 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 Publishers für FME Flow
- Wählen Sie in der FME Flow-Web-Benutzeroberfläche die Option Benachrichtigungen > Publikationen und klicken Sie auf Neu.
- Geben Sie einen Namen für die Publikation an.
- Geben Sie JMS für das Protokoll an.
- Legen Sie die Themen fest, für die Sie die Publikation vornehmen wollen, indem Sie den Dropdown-Selektor verwenden. Um ein Thema zu erstellen, das Sie direkt verwenden können, klicken Sie auf +. Wenn Sie JMS-Nachrichten vom Nachrichtenbroker empfangen, werden diese Themen benachrichtigt.
- 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.
- 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.
- Klicken Sie auf OK.
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.

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 |
Benachrichtigungs-Inhalt
Der Inhalt der JSON-Benachrichtigung besteht aus den folgenden Schlüssel-Wert-Paaren:
"fns_type": "jms_publisher"
- "jms_publisher_type": Dieser Wert kann einer der folgenden JMS-Nachrichtentypen sein:
- "text" - TextMessage
- "object" - ObjectMessage
- "map" - MapMessage
- "jms_publisher_content": Dieser Wert kann einer der folgenden sein:
- "<Inhalt> " - Der Inhalt einer TextMessage.
- "<object>.toString()" - Der Inhalt einer ObjectMessage.
- "<map_key1> = <map_value1>, <map_key2> = <map_value2>" usw. - Die Name-Wert-Paare, aus denen eine MapMessage besteht.
Beispiel
Diese Beispielbenachrichtigung wird basierend auf einer TextMessage gesendet, die von einem Nachrichtenbroker empfangen wurde. Der Nachrichtentext enthält "Hello World“.
{
"fns_type": "jms_publisher"
"jms_publisher_type": "text"
"jms_publisher_content": "Hello World"
}