Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-4022

Issue using errorBuilderRef with the xml dsl

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Critical
    • Resolution: Fixed
    • 2.7.1
    • 2.8.0
    • None
    • None

    Description

      While fixing issues around the errorHandler I noticed that <onException> definitions defined in the camel context are ignored if a route specifies its own errorHandlerRef. The reason is that we set the onException definition on the default error handler. I have a fix for that, but I discovered a different issue (I think) for which I would like to discuss the solution.

      When we have an onException definition that looks kinda like this:

      <onException>
        <exception> java.lang.IllegalArgumentException</exception>
        <to uri="mock:illegalArgumentException"/>
      </onException>
      

      ... something happens, the IAE exception is caught, we do something, but in that process another exception is thrown. Currently, that would be caught by the default error handler, which may not be what we want.

      What error handler (if any) should handle exceptions thrown while in onException?

      The onException mechanism is somewhat similar to a try/catch. I don't think the exceptions thrown while handling onException should be handled by the same error handler configured for the route, or even the context scoped one. The processing should be very simple, predictable and immutable. Since the default "CamelDefaultErrorHandlerBuilder" can be replaced, it is not imho a solution and we need one global one that does as little as possible (the problem would be agreeing what that is: no redeliveries, logging or not, etc).

      Thoughts?

      Attachments

        1. onexceptionerrorhandler.patch
          41 kB
          Claus Ibsen

        Issue Links

          Activity

            People

              davsclaus Claus Ibsen
              hadrian Hadrian Zbarcea
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: