C# Class Tp.Integration.Messages.ServiceBus.Transport.UiPriority.MsmqUiPriorityTransport

An MSMQ implementation of ITransport for use with NServiceBus.
A transport is used by NServiceBus as a high level abstraction from the underlying messaging service being used to transfer messages.
Inheritance: IMsmqTransport
显示文件 Open project: TargetProcess/Target-Process-Plugins Class Usage Examples

Public Methods

Method Description
AbortHandlingCurrentMessage ( ) : void

Causes the processing of the current message to be aborted.

ChangeNumberOfWorkerThreads ( int targetNumberOfWorkerThreads ) : void

Changes the number of worker threads to the given target, stopping or starting worker threads as needed.

Convert ( System.Messaging.Message m ) : TransportMessage

Converts an MSMQ Message into an NServiceBus message.

Dispose ( ) : void

Stops all worker threads and disposes the MSMQ queue.

GetFailedQueue ( System.Messaging.Message m ) : string

Returns the queue whose process failed processing the given message by accessing the label of the message.

GetLabelWithoutFailedQueue ( System.Messaging.Message m ) : string

Gets the label of the message stripping out the failed queue.

GetQueueName ( string accountName ) : string
Process ( ) : void

Waits for a message to become available on the input queue and then receives it.

If the queue is transactional the receive operation will be wrapped in a transaction.

QueueIsNotEmpty ( ) : bool

Returns the number of messages in the queue.

ReceiveMessageLater ( TransportMessage m ) : void

Re-queues a message for processing at another time.

This method will place the message onto the back of the queue which may break message ordering.

ReceiveMessageLater ( TransportMessage m, string address ) : void
Send ( TransportMessage m, string destination ) : void

Sends a message to the specified destination.

Start ( ) : void

Starts the transport.

TryDeleteQueue ( string accountName ) : bool
TryDeleteUiQueue ( string accountName ) : bool

Protected Methods

Method Description
MoveToErrorQueue ( System.Messaging.Message m, IPluginQueue queue ) : void

Moves the given message to the configured error queue.

Private Methods

Method Description
AddWorkerThread ( System.Action action ) : NServiceBus.Utils.WorkerThread
CheckConfiguration ( ) : void
ClearFailuresForMessage ( string messageId ) : void
CreateQueuesIfNecessary ( ) : void
Extract ( System.Messaging.Message message ) : IMessage[]

Extracts the messages from an MSMQ Message.

FillIdForCorrelationAndWindowsIdentity ( TransportMessage result, System.Messaging.Message m ) : void
FillLabel ( System.Messaging.Message toSend, TransportMessage m ) : void
GetTransactionTypeForReceive ( ) : MessageQueueTransactionType

Gets the transaction type to use when receiving a message from the queue.

GetTransactionTypeForSend ( ) : MessageQueueTransactionType

Gets the transaction type to use when sending a message.

HandledMaxRetries ( string messageId ) : bool
IncrementFailuresForMessage ( string messageId ) : void
MessageInQueue ( IPluginQueue queue ) : bool
MessageInQueueInternal ( IPluginQueue queue, int waitInterval ) : bool
OnFailedMessageProcessing ( ) : bool
OnFinishedMessageProcessing ( ) : bool
OnTransportMessageReceived ( TransportMessage msg ) : bool
ReceiveAndProcessMessage ( IPluginQueue queue ) : void
ReceiveFromQueue ( IPluginQueue queue ) : void

Receives a message from the input queue.

If a message is received the TransportMessageReceived event will be raised.

ReceiveMessageFromQueueAfterPeekWasSuccessful ( IPluginQueue queue ) : System.Messaging.Message
WaitForMessageInQueue ( IPluginQueue queue ) : bool

Method Details

AbortHandlingCurrentMessage() public method

Causes the processing of the current message to be aborted.
public AbortHandlingCurrentMessage ( ) : void
return void

ChangeNumberOfWorkerThreads() public method

Changes the number of worker threads to the given target, stopping or starting worker threads as needed.
public ChangeNumberOfWorkerThreads ( int targetNumberOfWorkerThreads ) : void
targetNumberOfWorkerThreads int
return void

Convert() public method

Converts an MSMQ Message into an NServiceBus message.
public Convert ( System.Messaging.Message m ) : TransportMessage
m System.Messaging.Message The MSMQ message to convert.
return TransportMessage

Dispose() public method

Stops all worker threads and disposes the MSMQ queue.
public Dispose ( ) : void
return void

GetFailedQueue() public static method

Returns the queue whose process failed processing the given message by accessing the label of the message.
public static GetFailedQueue ( System.Messaging.Message m ) : string
m System.Messaging.Message
return string

GetLabelWithoutFailedQueue() public static method

Gets the label of the message stripping out the failed queue.
public static GetLabelWithoutFailedQueue ( System.Messaging.Message m ) : string
m System.Messaging.Message
return string

GetQueueName() public method

public GetQueueName ( string accountName ) : string
accountName string
return string

MoveToErrorQueue() protected method

Moves the given message to the configured error queue.
protected MoveToErrorQueue ( System.Messaging.Message m, IPluginQueue queue ) : void
m System.Messaging.Message
queue IPluginQueue
return void

Process() public method

Waits for a message to become available on the input queue and then receives it.
If the queue is transactional the receive operation will be wrapped in a transaction.
public Process ( ) : void
return void

QueueIsNotEmpty() public method

Returns the number of messages in the queue.
public QueueIsNotEmpty ( ) : bool
return bool

ReceiveMessageLater() public method

Re-queues a message for processing at another time.
This method will place the message onto the back of the queue which may break message ordering.
public ReceiveMessageLater ( TransportMessage m ) : void
m TransportMessage The message to process later.
return void

ReceiveMessageLater() public method

public ReceiveMessageLater ( TransportMessage m, string address ) : void
m TransportMessage
address string
return void

Send() public method

Sends a message to the specified destination.
public Send ( TransportMessage m, string destination ) : void
m TransportMessage The message to send.
destination string The address of the destination to send the message to.
return void

Start() public method

Starts the transport.
public Start ( ) : void
return void

TryDeleteQueue() public method

public TryDeleteQueue ( string accountName ) : bool
accountName string
return bool

TryDeleteUiQueue() public method

public TryDeleteUiQueue ( string accountName ) : bool
accountName string
return bool