JMSConnector node provides connectivity to any JMS Provider for messages sending and receiving.
How does JMSConnector work?
Since almost JMS Provider implementations come with a Client Library, JMSConnector node has the ability to load external JAR files to establish the connection against a JMS Provider.
The node utilizes JNDI to get the Queues for sending and receiving so the JMS implementation must has JNDI support.
How JMSConnector should be configured?
For this example we will use Apache ActiveMQ 5.8.0 (please see http://activemq.apache.org/). Once Apache ActiveMQ Server is up and running, we are going to send and receive messages from KNIME.
Insert a Table Creator Node in a KNIME Workflow and go to the Configure Dialog. Give any name to the column which will contain the messages.
Fill cells of the column selected with some random text.
JMSConnector node is localized under Community Nodes category inside Message Queue subcategory:
Drop the node into any KNIME workflow and connect the Table Creator with the JMSConnector. Go to the JMSConnector configure Dialog and in the Options tab choose the messages column.
Go to the JMS Provider tab and specify the path from where ActiveMQ Client library will be loaded and the libraries required by the Client. Go to the JNDI tab and set the properties as follows:
- Factory Initial : org.apache.activemq.jndi.ActiveMQInitialContextFactory
- Provider URL: tcp://localhost:61616
Go back to the JMS Provider tab and set this properties:
- JMS Destination: dynamicQueues/KNIME.REQ
- Reply to Queue: dynamicQueues/KNIME.REQ
In the JMS Client Classpath List add the JARs needed to establish a connection with ActiveMQ (it can be downloaded
and, in a command line, execute the following command: java -jar activeMQConsumer.jar. This little daemon consumes messages from KNIME.REQ and sends the JMS MessageID as response to KNIME.REP. In KNIME execute the JMSConnector node and go to the view "Responses" to see the results.
The source code can be accessed at https://anonymous:firstname.lastname@example.org/svn/nodes4knime/trunk/com.bluelone.
The JMS Connector is released under LGPLv3.