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

MSMQ Transport

The msmq: component is a transport for working with  Microsoft Message Queuing
This component natively sends and receives direct allocated ByteBuffer instances. This allows 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 a Local Transport with WSO2 ESB
  • In the axis2.xml file at location <PRODUCT_HOME>/repository/conf/axis2, please define msmq sender/listner 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>
  • Download axis2-transport-msmq-1.1.0-wso2v6.jar (click here for 64x , 32x) and place that in ESB_HOME/repository/components/dropins.

    • MSMQ bridging requires JNI invocation and we are shipping two dlls as required for 64bit and 32bit O/S, so make sure that you are downloading the correct one.
  • Please make sure MQ installed and running for more information please refer http://msdn.microsoft.com/en-us/library/aa967729.aspx.

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

 

Given MSMQ samples is ONLY working on windows environment, since it invokes Microsoft C++ API for MSMQ via JNI invocation.

 

 

Â