Java Message Service (JMS) is a widely used API in Java-based Message Oriented Middleware(MOM) applications. The JMS transport allows you to send and receive messages to queues and topics of any JMS service that implements the JMS specification.
The JMS transport implementation comes from the WS-Commons Transports project, and it makes use of JNDI to connect to various JMS brokers. As a result, the Business Process profile can work with any JMS broker that offers JNDI support. All the relevant classes are packed into the
axis2-transport-jms-<version>.jar and the classes org.apache.axis2.transport.jms.JMSListener and org.apache.axis2.transport.jms.JMSSender act as the transport receiver and sender respectively.
This section describes how you can configure the JMS transport of the Business Process profile in WSO2 Enterprise Integrator (WSO2 EI) to communicate with a JMS broker.
Enabling the JMS transport
To enable the JMS transport
<EI_HOME>/wso2/business-process/conf/axis2/axis2.xmlfile and uncomment the JMS listener as follows based on the JMS broker you are using:
<EI_HOME>/wso2/business-process/conf/axis2/axis2.xmlfile and uncomment the JMS sender as follows:
Configuring the JMS transport
The JMS transport implementation requires an active JMS server instance to be able to receive and send messages. We recommend using Apache ActiveMQ, but other implementations such as Apache Qpid and Tibco are also supported.
Configuration parameters for the JMS receiver and sender are XML fragments that represent JMS connection factories. Following is a typical JMS connection factory configuration:
This is a bare minimal JMS connection factory configuration that consists of four connection factory parameters.
For detailed information on each JMS connection factory parameter, see JMS connection factory parameters.
For information on how to configure the Business Process profile JMS transport with the most common broker servers, see the following topics: