...
- If you have not already done so, see Getting Started with WSO2 ESB for details on installing and running WSO2 ESB.
Configure the JMS inbound listener. Following is a sample JMS inbound listener configuration:
Code Block language html/xml <inboundEndpoint xmlns="http://ws.apache.org/ns/synapse" name="jms" sequence="request" onError="fault" protocol="jms" suspend="false"> <parameters> <parameter name="interval">1000</parameter> <parameter name="transport.jms.CacheLevel">1</parameter> <parameter name="transport.jms.ConnectionFactoryJNDIName">TopicConnectionFactory</parameter> <parameter name="sequential">true</parameter> <parameter name="java.naming.factory.initial">org.wso2.andes.jndi.PropertiesFileInitialContextFactory</parameter> <parameter name="java.naming.provider.url">repository/conf/jndi.properties</parameter> <parameter name="transport.jms.SessionAcknowledgement">AUTO_ACKNOWLEDGE</parameter> <parameter name="transport.jms.SessionTransacted">false</parameter> <parameter name="transport.jms.ConnectionFactoryType">topic</parameter> </parameters> </inboundEndpoint>
Info 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
<MB_HOME>/clent-lib folder to <ESB_HOME>/repository/components/lib
folder.andes-client-3.0.1.jar
geronimo-jms_1.1_spec-1.1.0.wso2v1.jar
org.wso2.securevault-1.0.0-wso2v2.jar
- Open
<ESB_HOME>/repository/conf/jndi.properties
file and make a reference to the running Message Broker 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 Message Broker from theTopicConnectionFactory
as well.
For example:Anchor jndi jndi Code Block # register some connection factories # connectionfactory.[jndiname] = [ConnectionURL] connectionfactory.QueueConnectionFactory = amqp://admin:admin@clientID/carbon?brokerlist='tcp://localhost:5673' connectionfactory.TopicConnectionFactory = amqp://admin:admin@clientID/carbon?brokerlist='tcp://localhost:5673' # register some queues in JNDI using the form # queue.[jndiName] = [physicalName] queue.JMSMS=JMSMS queue.StockQuotesQueue = StockQuotesQueue
- Ensure that WSO2 Message Broker is running, and then open a command prompt (or a shell in Linux) and go to the
<ESB_HOME>\bin
directory. - Start the ESB server by executing executing
sh wso2server.sh -Dqpid.dest_syntax=BURL
(on Linux/OS X) orwso2server.bat -Dqpid.dest_syntax=BURL
(on Windows).
Now you have an instance of WSO2 Message Broker and a WSO2 ESB inbound endpoint configured, up and running.
...