Configuring FME Flow as a JMS Client
FME Flow’s notification system comes equipped with both a JMS publisher and a JMS subscriber. The JMS publisher consumes messages from a message broker and publishes them to an FME Flow topic. The JMS subscriber does the opposite; it subscribes to an FME Flow topic, and provides messages to a message broker.
Provide Access to the JMS Libraries
To ensure the publisher and subscriber both have access to the required JMS libraries, there are two options:
- Option 1 (preferred): Place the JMS library files in the <FMEFlowDir>\Server\lib\jms folder.
- Locate the JMS client libraries for the JMS Client you wish to configure (see Installing the JMS Libraries).
- Copy the JMS client libraries to <FMEFlowDir>\Server\lib\jms.
- Restart FME Flow.
- Option 2: Add access to the libraries in the java classpaths.
- In a text editor, open processMonitorConfigCore.txt.
- Scroll to the section on launching the JMS publisher, with the heading Start FME Flow Publisher Plugin (jms).
- Identify the classpath variable, FMESERVER_CLASSPATH.
- Append the path containing the vendor-specific JMS library (see Installing the JMS Libraries). Ensure that /* appears at the end of each path, so all libraries within the path are picked up. For example:
-
Repeats steps 2 to 4 for the JMS subscriber, with the heading Start FME Flow Subscriber Plugin (jms).
- Save the file, and restart FME Flow.
... -FMESERVER_CLASSPATH “...;C:/Program Files (x86)/IBM/WebSphere MQ/java/lib/*” ...
"Exception in thread “main” java.lang.NoClassDefFoundError: javax/jms/JMSException"
"Failed to initialize JMS object named “xxx”, because of missing class “yyy”. Please ensure that the JMS client libraries are available for your JMS provider."
For more information, see Testing and Troubleshooting.
After restarting FME Flow, proceed with adding the JMS Trigger and/or External Action (preferred) or JMS publisher and/or subscriber:
- Parameters (JMS trigger)
- Parameters (JMS external Action)
- Creating a JMS Publisher for FME Flow
- Creating a JMS subscriber for FME Flow
What's Next?
It is important to test the system after configuration. For more information, see Testing and Troubleshooting.