JMS Publisher

The JMS Publisher receives messages from Java Message System (JMS)-compliant message brokers, such as IBM WebSphere MQ, and publishes them to topics.

Setting up a JMS Message Broker with FME Flow

Before configuring a JMS publisher, you must set up a JMS broker to work with FME Flow. The steps depend on the broker you use, and are explained in the following section (applicable to both the JMS Publisher and JMS Subscriber):

Creating a JMS Publisher for FME Flow

  1. In the FME Flow Web User Interface, select Notifications > Publications, and click New.
  2. Provide a name for the Publication.
  3. Specify JMS for the protocol.
  4. Specify the Topics you want to publish to using the drop-down selector. To create a topic and use it right away, click +. When receiving JMS messages from the message broker, these topics will be notified.
  5. Provider Type or Context: The message broker to connect to, or the initial context factory if the broker is not listed.
  6. Provider URL: The URL of the directory containing connection details for the JMS provider.
  7. Additional Provider Properties: Any additional provider-specific properties, in the form key=value. For example, randomize=false. Specify multiple pairs on separate lines.
  8. In most cases, this field is not required. The JMS brokers tested by Safe, including Apache ActiveMQ, IBM Websphere MQ, and Oracle WebLogic JMS, do not require any additional properties to establish a connection.

  9. Connection Factory: The name of the connection factory object.
  10. Username: An authenticating username.
  11. Password: An authenticating password.
  12. Destination(s): The name of the destination object(s). These correspond to queues and/or topics. Multiple destinations can be specified, separated with a comma.
  13. Click OK.

Notification Content

The JSON notification content is comprised of the following key-value pairs:

  • "fns_type": "jms_publisher"
  • "jms_publisher_type": This value can be one of the following JMS message types:
    • "text" - TextMessage
    • "object" - ObjectMessage
    • "map" - MapMessage
  • "jms_publisher_content": This value can be one of the following:
    • "<content>" - The content of a TextMessage.
    • "<object>.toString()" - The content of an ObjectMessage.
    • "<map_key1> = <map_value1>, <map_key2> = <map_value2>", and so on - The name-value pairs that comprise a MapMessage.

Example

This example notification is sent based on a TextMessage received from a message broker. The message body contains "Hello World".

{

"fns_type": "jms_publisher"

"jms_publisher_type": "text"

"jms_publisher_content": "Hello World"

}

See Also