diff --git a/doc/reference/src/msmq.xml b/doc/reference/src/msmq.xml index 0f5a1aa0..c48df4e4 100644 --- a/doc/reference/src/msmq.xml +++ b/doc/reference/src/msmq.xml @@ -146,8 +146,8 @@ MessageQueueTemplate will take care of managing thread local access to a System.Messaging.MessageQueue as well as any - System.Messaging.IMessageFormatter instances. - + System.Messaging.IMessageFormatter + instances. Furthermore, since this is a transactional queue (only the name gives it away), the message will be sent using a single local messaging @@ -247,7 +247,7 @@ developed to deal with them. This is left as a development task if you when using the System.Messaging APIs but Spring provides a strategy for handling poison messages, both for DTC based message reception as well as - for local messaging transactions. + for local messaging transactions. In the last part this 'quick tour' we will configure the message listener container to handle poison messages. This is done by creating an @@ -261,9 +261,9 @@ corrective actions. - <!-- The 'retry' queue to send poison messages --> - <object id='retryQuestionTxQueue' type='Spring.Messaging.Support.MessageQueueFactoryObject, Spring.Messaging'> - <property name='Path' value='.\Private$\retryQuestionTxQueue'/> + <!-- The 'error' queue to send poison messages --> + <object id='errorQuestionTxQueue' type='Spring.Messaging.Support.MessageQueueFactoryObject, Spring.Messaging'> + <property name='Path' value='.\Private$\errorQuestionTxQueue'/> <property name='MessageReadPropertyFilterSetAll' value='true'/> </object> @@ -278,14 +278,14 @@ <!-- Poison message handling policy --> <object id="messageTransactionExceptionHandler" type="Spring.Messaging.Listener.SendToQueueExceptionHandler, Spring.Messaging"> <property name="MaxRetry" value="5"/> - <property name="MessageQueueObjectName" value="retryQuestionTxQueue"/> + <property name="MessageQueueObjectName" value="errorQuestionTxQueue"/> </object> In the event of an exception while processing the message, the message transaction will be rolled back (putting the message back on the queue questionTxQueue for redelivery). If the same message causes an exception in processing 5 times ,then it will be sent transactionally to - the retryQuestionTxQueue and the message transaction will commit (removing + the errorQuestionTxQueue and the message transaction will commit (removing it from the queue questionTxQueue). You can also specify that certain exceptions should commit the transaction (remove from the queue) but this is not shown here ,see below for more informatio non this functionality @@ -401,7 +401,7 @@ object ReceiveAndConvert(string messageQueueObjectName); properties that need to be set, perhaps creating a custom IMessageConverter would be appropriate. - Overloaded Send and Recieve + Overloaded Send and Receive operations that use the algorithm listed above to set transactional delivery options are also available. These are listed below @@ -518,7 +518,7 @@ void Send(MessageQueue messageQueue, Message message); DefaultMessageQueueFactory leverages Spring's local thread storage support so it will work correctly in stand - alone and web applications. + alone and web applications. You can use the DefaultMessageQueueFactory independent of the rest of Spring's MSMQ support should you need only @@ -596,7 +596,7 @@ void Send(MessageQueue messageQueue, Message message);
NonTransactionalMessageListenerContainer - This container performs a Recieve operation on the + This container performs a Receive operation on the MessageQueue without any transactional settings. As such messages will not be redelivered if an exception is thrown during message processing. Exceptions during message processing @@ -786,7 +786,7 @@ void Send(MessageQueue messageQueue, Message message); <!-- Poison message handling --> <object id="messageTransactionExceptionHandler" type="Spring.Messaging.Listener.SendToQueueExceptionHandler, Spring.Messaging"> <property name="MaxRetry" value="5"/> - <property name="MessageQueueObjectName" value="testTxRetryQueue"/> + <property name="MessageQueueObjectName" value="testTxErrorQueue"/> </object> <!-- Classes you need to write --> @@ -955,7 +955,7 @@ void Send(MessageQueue messageQueue, Message message); XmlDocumentConverter - loads and saves - an XmlDocument to the messgae BodyStream. This lets you manipulate + an XmlDocument to the message BodyStream. This lets you manipulate directly the XML data independent of type serialization issues. This is quite useful if you use XPath expressions to pick out the relevant information to construct your business objects.