This documentation is for WSO2 Enterprise Service Bus version 5.0.0. For the latest ESB, view the latest WSO2 Enterprise Integrator documentation.

All docs This doc
Skip to end of metadata
Go to start of metadata

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

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.

    <proxy name="StockQuoteProxy" transports="jms">
               <property action="set" name="OUT_ONLY" value="true"/>
                      <address uri="jms:/SimpleStockQuoteService?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&            java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&java.naming.provider.url=tcp://localhost:61616"/>

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

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

You can view the ActiveMQ queues by accessing the ActiveMQ management console using the URL 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.

  • No labels