This site contains the documentation that is relevant to older WSO2 product versions and offerings.
For the latest WSO2 documentation, visit https://wso2.com/documentation/.
Configuring the JMS Inbound Protocol with the EI-Broker runtime
This section describes how to configure the JMS inbound protocol in WSO2 Enterprise Integrator (WSO2 EI) using the EI-Broker runtime.
- If you have not already done so, see Installing the Product for details on installing WSO2 EI.
- Open a command line terminal and start the EI-Broker runtime that is shipped with your WSO2 EI distribution by running one of the following startup scripts from theÂ
<EI_HOME>/wso2/broker/bin
 directory:- On Linux/Mac OS:  sh wso2server.sh
On Windows:Â Â wso2server.bat --run
Configure the JMS inbound listener. Following is a sample JMS inbound listener configuration:
<inboundEndpoint xmlns="http://ws.apache.org/ns/synapse" name="jms_inbound" sequence="request" onError="fault" protocol="jms" suspend="false"> <parameters> <parameter name="interval">1000</parameter> <parameter name="sequential">true</parameter> <parameter name="coordination">true</parameter> <parameter name="java.naming.factory.initial">org.wso2.andes.jndi.PropertiesFileInitialContextFactory</parameter> <parameter name="java.naming.provider.url">conf/jndi.properties</parameter> <parameter name="transport.jms.ConnectionFactoryJNDIName">QueueConnectionFactory</parameter> <parameter name="transport.jms.ConnectionFactoryType">queue</parameter> <parameter name="transport.jms.Destination">JMSMS</parameter> <parameter name="transport.jms.SessionTransacted">false</parameter> <parameter name="transport.jms.SessionAcknowledgement">AUTO_ACKNOWLEDGE</parameter> <parameter name="transport.jms.CacheLevel">1</parameter> <parameter name="transport.jms.SubscriptionDurable">false</parameter> <parameter name="transport.jms.SharedSubscription">false</parameter> </parameters> </inboundEndpoint>
For more information on the JMS configuration parameters used in the code segments above, see JMS Connection Factory Parameters.
- Copy the following JAR files from theÂ
<EI_HOME>/wso2/broker/client-lib
folder to<EI_HOME>/libÂ
folder.andes-client-3.1.14.jar
geronimo-jms_1.1_spec-1.1.0.wso2v1.jar
org.wso2.securevault-1.0.0-wso2v2.jar
- OpenÂ
<EI_HOME>/conf/jndi.properties
 file and make a reference to the running EI-Broker runtime as specified below:ÂUse carbon as the virtual host.
- Define a queue namedÂ
JMSMS
. Comment out the topic, since it is not required in this scenario. However, in order to avoid getting theÂ
javax.naming.NameNotFoundException:TopicConnectionFactory
 exception during server startup, make a reference to the EI-Broker runtime from theÂTopicConnectionFactory
 as well.ÂFor example:
# register some connection factories # connectionfactory.[jndiname] = [ConnectionURL] connectionfactory.QueueConnectionFactory = amqp://admin:admin@clientID/carbon?brokerlist='tcp://localhost:5675' connectionfactory.TopicConnectionFactory = amqp://admin:admin@clientID/carbon?brokerlist='tcp://localhost:5675' # register some queues in JNDI using the form # queue.[jndiName] = [physicalName] queue.JMSMS=JMSMS queue.StockQuotesQueue = StockQuotesQueue
- Ensure that EI-Broker is running, and then open a command prompt (or a shell in Linux) and go to theÂ
<EI_HOME>/bin
 directory. - Start the Integration runtime server by executingÂ
sh integrator.sh -Dqpid.dest_syntax=BURL
 (on Linux/OS X)  orÂ
integrator.bat -Dqpid.dest_syntax=BURL
 (on Windows).
Now you have an instance of EI-Broker and a WSO2 EIÂ inbound endpoint configured, up and running.