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

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

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

 

Diagram 3 : Simple JMS to JMS proxy service

The following example code shows the configuration of ESB to both listen to a JMS queue and consume messages as well as to send messages to a JMS queue.

Example 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&amp;                 java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&amp;java.naming.provider.url=tcp://localhost:61616"/>
               </endpoint>
           </send>
       </inSequence>
   </target>
</proxy>

To place a message into a JMS queue, execute following command from <ESB_HOME>/samples/axis2Client directory. 

ant stockquote -Dmode=placeorder -Dtrpurl="jms:/JMStoHTTPStockQuoteProxy?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"

Generally, JMS is used for one-way, asynchronous message exchange. However you can perform synchronous messaging also with JMS. Described below is how to configure WSO2 ESB for two-way and quad-channel synchronous messaging.

JMS Synchronous Invocations : Dual Channel HTTP-to-JMS


Diagram 4 : Dual-channel JMS synchronous invocations

 

The following example code shows configuration of WSO2 ESB for dual-channel JMS synchronous invocations.

 

Example code 4
<proxy name="StockQuoteProxy" transports="http">
      <target>
          <endpoint>
                  <address uri="jms:/SimpleStockQuoteService?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&amp;                 java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&amp;java.naming.provider.url=tcp://localhost:61616&amp;transport.jms.DestinationType=queue&amp;transport.jms.ReplyDestination=SimpleStockQuoteServiceReply"/>
          </endpoint>
          <inSequence>
              <property action="set" name="transport.jms.ContentTypeProperty" value="Content-Type" scope="axis2"/>
          </inSequence>
          <outSequence>
              <property action="remove" name="TRANSPORT_HEADERS" scope="axis2"/>
              <send/>
          </outSequence>
      <target>
      <publishWSDL uri="file:repository/conf/sample/resources/proxy/sample_proxy_1.wsdl"/>
  </proxy>

 

 

 

 

 


 

  • No labels