Configuring FME Server as a JMS Client
FME Server’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 Server topic. The JMS subscriber does the opposite; it subscribes to an FME Server topic, and provides messages to a message broker.
Note: Sample configurations for different message brokers are provided following these instructions.
Provide Access to the JMS Libraries
To ensure the publisher and subscriber both have access to the required JMS libraries, you must add access to the libraries in the java classpaths (see Installing the JMS Libraries).
Note: Skip this section if using JMS with Apache ActiveMQ. the JMS libraries for Apache ActiveMQ are bundled with FME Server, and so java classpaths need not be modified.
- In a text editor, open processMonitorConfigCore.txt, located in the Server subdirectory of the FME Server installation.
- Scroll to the section on launching the JMS publisher, with the heading Start FME Server Publisher Plugin (jms).
- Identify the classpath variable, FMESERVER_CLASSPATH.
- Append the path containing the vendor-specific JMS library. Ensure that /* appears at the end of each path, so all libraries within the path are picked up. For example:
... -FMESERVER_CLASSPATH “...;C:/Program Files (x86)/IBM/WebSphere MQ/java/lib/*” ...
-
Repeats steps 2 to 4 for the JMS subscriber, with the heading Start FME Server Subscriber Plugin (jms).
- Save the file, and restart FME Server.
Note: If the classpath variable is incorrectly specified, the following messages (or their variants) may appear in the FME Server Process Monitor log file:
"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 Server, 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 Server
- Creating a JMS subscriber for FME Server
What's Next?
It is important to test the system after configuration. For more information, see Testing and Troubleshooting.