Spring.NET 1.3.0 RC1 for .NET 2.0 API Reference

MessageQueueTemplate.DoSendMessageQueue Method

Send the message queue selecting the appropriate transactional delivery options.

[Visual Basic]
Protected Overridable Sub DoSendMessageQueue( _
   ByVal mq As MessageQueue, _
   ByVal msg As Message _
)
[C#]
protected virtual void DoSendMessageQueue(
   MessageQueue mq,
   Message msg
);

Parameters

mq
The mq.
msg
The MSG.

Remarks

If the message queue is transactional and there is an ambient MessageQueueTransaction in thread local storage (put there via the use of Spring's MessageQueueTransactionManager or TransactionalMessageListenerContainer), the message will be sent transactionally using the MessageQueueTransaction object in thread local storage. This lets you group together multiple messaging operations within the same transaction without having to explicitly pass around the MessageQueueTransaction object.

If the message queue is transactional but there is no ambient MessageQueueTransaction, then a single message transaction is created on each messaging operation. (MessageQueueTransactionType = Single).

If there is an ambient System.Transactions transaction then that transaction will be used (MessageQueueTransactionType = Automatic).

If the queue is not transactional, then a non-transactional send (MessageQueueTransactionType = None) is used.

See Also

MessageQueueTemplate Class | Spring.Messaging.Core Namespace