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.
