by default the bus will attempt to consume a message 3 times (this can be 
overrriden). after that the message is moved to the error queue. With MSMQ 
you can easily move the message back into the the main queue for processing 
once the bug is resolved and the message can be processed. With RQ I 
haven't found a good way to get the message out of the error queue.

if you want to add additional "generic" behavior to the exception handling 
workflow then implement IMessageModule and hook into the appropriate 
messaging events (arrived, completed, error, etc). Note: if you will be 
sending another message from the message module and an exception is thrown, 
you will need to explicitly wrap the action in a new transaction scope. 
otherwise the message will not be sent because the parent transaction is 
rolled back.

using(var tx = new TransactionScope(Scope.RequiresNew))
{
   var message = new HandlingExceptionMessage{Exception = exception};
   bus.Send(message);
   tx.Complete();
}

-- 
You received this message because you are subscribed to the Google Groups 
"Rhino Tools Dev" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/rhino-tools-dev/-/alKstFl5q2IJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rhino-tools-dev?hl=en.

Reply via email to