Versions Compared

Key

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

This section describes how to configure WSO2 ESB to work as a JMS-to-JMS proxy service.

Image Modified  

Follow the steps below to configure WSO2  ESB to  listen to a JMS queue and consume messages and then send those messages to another JMS queue.

  1. Configure WSO2 ESB with Apache ActiveMQ and set up the JMS listener and sender. For instructions, see Configure with ActiveMQ.
  2. Create a proxy service with the following configuration.To create a proxy service using ESB Tooling, see Working with Proxy Services via ESB Tooling.
     

    Code Block
    languagehtml/xml
    titleExample code 3
    <proxy name="StockQuoteProxy" transports="jms">
       <target>
           <inSequence>
               <property action="set" name="OUT_ONLY" value="true"/>
               <send>
                   <endpoint>
                      <address uri="jms:/SimpleStockQuoteService?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&            java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&java.naming.provider.url=tcp://localhost:61616"/>
                   </endpoint>
               </send>
           </inSequence>
       </target>
    </proxy>
    Note

    When entering the above URLs in the management console, replace '&' character in the endpoint URL with '&amp;'

    Tip

    In the sample configuration above,  ESB listens to a JMS queue named StockQuoteProxy and sends messages to another queue named SimpleStockQuoteService.

  3. To place a message into a JMS queue, execute following command from <ESB_HOME>/samples/axis2Client directory.  
Code Block
ant stockquote -Dmode=placeorder -Dtrpurl="jms:/StockQuoteProxy?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&java.naming.provider.url=tcp://localhost:61616&transport.jms.ContentTypeProperty=Content-Type&transport.jms.DestinationType=queue"
Tip

You can view the ActiveMQ queues by accessing the ActiveMQ management console using the URL  http://0.0.0.0:8161/admin and using  admin  as both the username and password.

Generally, JMS is used for one-way, asynchronous message exchange. However you can perform synchronous messaging also with JMS. For more information, see JMS Synchronous Invocations : Dual Channel HTTP-to-JMS and JMS Synchronous Invocations : Quad Channel JMS-to-JMS.