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 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
In the
axis2.
xml file at location<EI_HOME>/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>
Download theÂ
axis2-transport-msmq-2.0.0-wso2v2.jarÂ
file and add it to theÂ<EI_HOME>/dropinsÂ
directory. This file provides the JNI invocation required by MSMQ bridging.ÂMake sure MQ installed and running. For more information, see http://msdn.microsoft.com/en-us/library/aa967729.aspx.
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: