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/.
ESB as Both a JMS Producer and Consumer
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.
<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>
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"
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.