Follow the steps below to configure the JMS transport of the WSO2 EI Integration ESB profile with the Broker profile.
Note |
---|
From the below configurations, do the ones in the axis2.xml file based on the profile you use as follows:
|
...
To enable the JMS transport of the Integration ESB profile to communicate with the Broker profile, edit the
<EI_HOME>/conf/axis2/axis2.xml
file, find the commented<transport receiver>
block and uncomment it as shown below.Code Block language html/xml <!--Uncomment this and configure as appropriate for JMS transport support with WSO2 MB 2.x.x --> <transportReceiver name="jms" class="org.apache.axis2.transport.jms.JMSListener"> <parameter name="myTopicConnectionFactory" locked="false"> <parameter name="java.naming.factory.initial" locked="false">org.wso2.andes.jndi.PropertiesFileInitialContextFactory</parameter> <parameter name="java.naming.provider.url" locked="false">conf/jndi.properties</parameter> <parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">TopicConnectionFactory</parameter> <parameter name="transport.jms.ConnectionFactoryType" locked="false">topic</parameter> </parameter> <parameter name="myQueueConnectionFactory" locked="false"> <parameter name="java.naming.factory.initial" locked="false">org.wso2.andes.jndi.PropertiesFileInitialContextFactory</parameter> <parameter name="java.naming.provider.url" locked="false">conf/jndi.properties</parameter> <parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">QueueConnectionFactory</parameter> <parameter name="transport.jms.ConnectionFactoryType" locked="false">queue</parameter> </parameter> <parameter name="default" locked="false"> <parameter name="java.naming.factory.initial" locked="false">org.wso2.andes.jndi.PropertiesFileInitialContextFactory</parameter> <parameter name="java.naming.provider.url" locked="false">conf/jndi.properties</parameter> <parameter name="transport.jms.ConnectionFactoryJNDIName" locked="false">QueueConnectionFactory</parameter> <parameter name="transport.jms.ConnectionFactoryType" locked="false">queue</parameter> </parameter> </transportReceiver>
Uncomment the following
<transport sender>
block for JMS in the same file:Code Block language html/xml <!-- uncomment this and configure to use connection pools for sending messages> <transportSender name="jms" class="org.apache.axis2.transport.jms.JMSSender"/>
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
<EI_HOME>/wso2/broker/clent-lib/
directory to the<EI_HOME>/lib/
directory.Anchor clientLibs clientLibs andes-client-3.2.19.jar
geronimo-jms_1.1_spec-1.1.0.wso2v1.jar
org.wso2.securevault-1.0.0-wso2v2.jar
and make a reference to the running Broker profile as specified below:Open
<EI_HOME>/conf/jndi.properties
fileUse 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 Broker profile 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: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
Note For instructions on configuring the JMS transport in a cluster of the WSO2 EI Broker profile, see Running the Broker instances.
- Ensure that the Broker profile is running, and then open a command prompt (or a shell in Linux) and go to the
<EI_HOME>/bin/
directory. - Start the WSO2 EI server by executing the following commands:
sh integrator.sh
(on Linux/OS X) orintegrator.bat
(on Windows).
Now, you have both the Broker and Integration the ESB profile of WSO2 EI configured and running with the JMS transport enabled.