Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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 in the Integration ESB profile, edit the <EI_HOME>/conf/axis2/axis2.xml file.
  • To enable the JMS transport in other profiles, edit the <EI_HOME>/wso2/<PROFILE_HOME>/conf/axis2/axis2.xml file. <PROFILE_HOME> refers to the main directory of the profile inside the WSO2 EI distribution. For example, to enable the JMS transport in the Business Process profile, edit the <EI_HOME>/wso2/business-process/conf/axis2/axis2.xml file

...

  1. 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
    languagehtml/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>
  2. Uncomment the following <transport sender> block for JMS in the same file:

    Code Block
    languagehtml/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.

  3. 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
  4. Open <EI_HOME>/conf/jndi.properties file and make a reference to the running Broker profile 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 Broker profile from the TopicConnectionFactory as well.

      Anchor
      jndi
      jndi
      For example:

      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.

  5. 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.
  6. Start the WSO2 EI server by executing the following commands: sh integrator.sh (on Linux/OS X) or integrator.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.