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

Error handling in splitter is broken with version 2.17.0

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Major
    • Resolution: Invalid
    • Affects Version/s: 2.17.0
    • Fix Version/s: None
    • Component/s: camel-core
    • Labels:
      None
    • Estimated Complexity:
      Unknown

      Description

      With version 2.17.0 error handling is not triggering route specific error handler any more.

      I changed org.apache.camel.processor.SplitSubUnitOfWorkTest and defined the global error handler as route specific and amended the global error handler:

            public void configure() throws Exception {
              // START SNIPPET: e1
              errorHandler(deadLetterChannel("mock:log").useOriginalMessage()
                  .maximumRedeliveries(3).redeliveryDelay(0));
      
              from("direct:start")
                  .errorHandler(
                      deadLetterChannel("mock:dead").useOriginalMessage()
                          .maximumRedeliveries(3).redeliveryDelay(0)).to("mock:a")
                  .split(body().tokenize(",")).shareUnitOfWork().to("mock:b")
                  .to("direct:line").end().to("mock:result");
      
              from("direct:line").inheritErrorHandler(true).to("log:line")
                  .process(new MyProcessor()).to("mock:line");
              // END SNIPPET: e1
            }
      

      The expectation is, that this shouldn't change the test results.

      But testError fails because mock:dead is not triggered any more.

        Attachments

          Activity

            People

            • Assignee:
              davsclaus Claus Ibsen
              Reporter:
              OHolzma Oliver Holzmann
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: