We have encountered a scenario where the Rhino ESB fails to move a message 
to the error queue due to an exception in our message module.

If a message module for some reason throws an exception in the 
"MessageProcessingFailure" event handler, it can lead to that the 
"MessageProcessingFailure" event handler which should move the failed 
message to the error queue is not executed (depending on the execution 
order of the event handlers).
The consequence is that our system enters a tight loop since the failed 
message gets retried over and over again without ever getting off the main 
queue.

The MessageHandlingCompletion class which raises the 
"MessageProcessingFailure" event has a try-catch surrounding the entire 
invocation. Instead it could retrieve the invocation list and surround each 
event subscriber with a try-catch.

I am aware that we should not throw exceptions in this event handler, but 
still should the Service Bus not be able to keep running even in a scenario 
like this? The alternative is to surround all event handling code with 
try-catch blocks.

I can submit a fix for this, if you agree on the solution proposed above?

-- 
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/-/hm7IvLvTdNsJ.
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