/
Configuring the JMS Inbound Protocol with the EI-Broker runtime

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.

  1. If you have not already done so, see Installing the Product for details on installing WSO2 EI.
  2. 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

  3. 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.

  4. 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
  5. Open <EI_HOME>/conf/jndi.properties file and make a reference to the running EI-Broker runtime as specified below: 
    1. Use carbon as the virtual host.

    2. Define a queue named JMSMS.
    3. 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
  6. 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.
  7. 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.

Related content

Configuring the JMS Inbound Protocol with the Broker Profile
Configuring the JMS Inbound Protocol with the Broker Profile
More like this
Configuring the JMS Inbound Protocol with the Broker Profile
Configuring the JMS Inbound Protocol with the Broker Profile
More like this
Configuring the JMS Inbound Protocol with the Broker Profile
Configuring the JMS Inbound Protocol with the Broker Profile
More like this
Configuring the JMS Inbound Protocol with the Broker Profile
Configuring the JMS Inbound Protocol with the Broker Profile
More like this
Configuring the JMS Inbound Protocol with the Broker Profile
Configuring the JMS Inbound Protocol with the Broker Profile
More like this
Configuring the JMS Inbound Protocol with the Broker Profile
Configuring the JMS Inbound Protocol with the Broker Profile
More like this