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

The msmq: component is a transport for working with Microsoft Message Queuing . This component natively sends and receives direct allocated ByteBuffer instances. This allows you to access the JNI layer without expensive memory copying. In fact, using ByteBuffer created with the method allocateDirect can be passed to the JNI layer, and the native code is able to directly access the memory.

URI format

msmq:msmqQueueName

Examples

msmq:DIRECT=OS:localhost\\private$\\test?concurrentConsumers=1
msmq:DIRECT=OS:localhost\\private$\\test?deliveryPersistent=true&priority=5&timeToLive=10
Configuring the MSMQ transport
  1. In the axis2.xml file at location <PRODUCT_HOME>/repository/conf/axis2, define the MSMQ sender/listener pair as follows:

    <transportSender name="msmq" class="org.apache.axis2.transport.msmq.MSMQSender"/>
    
    <transportReceiver name="msmq" class="org.apache.axis2.transport.msmq.MSMQListener">
              <parameter name="msmq.receiver.host" locked="false">localhost</parameter>
    </transportReceiver>
  2. Download axis2-transport-msmq-1.1.0-wso2v6.jar for 64-bit or 32-bit operating systems to <ESB_HOME>/repository/components/dropins. This file provides the JNI invocation required by MSMQ bridging. Be sure to download the correct one for your operating system.

  3. Make sure MQ installed and running. For more information, see http://msdn.microsoft.com/en-us/library/aa967729.aspx.

  4. Make sure that you have installed Visual C++ 2008 (VC9) and that it works with Microsoft Visual Studio 2008 Express.

 

The MSMQ examples only work on Windows, since they invoke Microsoft C++ API for MSMQ via JNI invocation.

For more information, see:

  • No labels