This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch errorhandler-in-dsl in repository https://gitbox.apache.org/repos/asf/camel.git
commit 0ba443762bb0cf0f49bb06cf90b86dd2461afd3d Author: Claus Ibsen <[email protected]> AuthorDate: Wed Apr 6 07:02:14 2022 +0200 CAMEL-16834: error handler in model DSL. WIP --- .../org/apache/camel/builder/BuilderSupport.java | 21 +++++++++++++++++---- .../camel/builder/DeadLetterChannelBuilder.java | 1 + .../aggregator/BodyOnlyAggregationStrategyTest.java | 7 +++---- 3 files changed, 21 insertions(+), 8 deletions(-) diff --git a/core/camel-core-model/src/main/java/org/apache/camel/builder/BuilderSupport.java b/core/camel-core-model/src/main/java/org/apache/camel/builder/BuilderSupport.java index d528efde45e..fd0d67e9b1c 100644 --- a/core/camel-core-model/src/main/java/org/apache/camel/builder/BuilderSupport.java +++ b/core/camel-core-model/src/main/java/org/apache/camel/builder/BuilderSupport.java @@ -26,6 +26,7 @@ import org.apache.camel.Endpoint; import org.apache.camel.Expression; import org.apache.camel.NoSuchEndpointException; import org.apache.camel.RuntimeCamelException; +import org.apache.camel.model.errorhandler.DeadLetterChannelDefinition; import org.apache.camel.model.language.DatasonnetExpression; import org.apache.camel.model.language.ExchangePropertyExpression; import org.apache.camel.model.language.HeaderExpression; @@ -437,10 +438,22 @@ public abstract class BuilderSupport implements CamelContextAware { * @param deadLetterUri uri to the dead letter endpoint storing dead messages * @return the builder */ - public DeadLetterChannelBuilder deadLetterChannel(String deadLetterUri) { - return new DeadLetterChannelBuilder(deadLetterUri); - } - + public DeadLetterChannelDefinition deadLetterChannel(String deadLetterUri) { + return new DeadLetterChannelDefinition(deadLetterUri); + } + + // /** + // * <a href="http://camel.apache.org/dead-letter-channel.html">Dead Letter Channel EIP:</a> is a error handler for + // * handling messages that could not be delivered to it's intended destination. + // * + // * @param deadLetterUri uri to the dead letter endpoint storing dead messages + // * @return the builder + // */ + // @Deprecated + // public DeadLetterChannelBuilder deadLetterChannel(String deadLetterUri) { + // return new DeadLetterChannelBuilder(deadLetterUri); + // } + // /** * <a href="http://camel.apache.org/dead-letter-channel.html">Dead Letter Channel EIP:</a> is a error handler for * handling messages that could not be delivered to it's intended destination. diff --git a/core/camel-core-model/src/main/java/org/apache/camel/builder/DeadLetterChannelBuilder.java b/core/camel-core-model/src/main/java/org/apache/camel/builder/DeadLetterChannelBuilder.java index 7bc8e032255..323e431c065 100644 --- a/core/camel-core-model/src/main/java/org/apache/camel/builder/DeadLetterChannelBuilder.java +++ b/core/camel-core-model/src/main/java/org/apache/camel/builder/DeadLetterChannelBuilder.java @@ -30,6 +30,7 @@ import org.slf4j.LoggerFactory; * A builder of a <a href="http://camel.apache.org/dead-letter-channel.html">Dead Letter Channel</a> */ @Configurer +@Deprecated public class DeadLetterChannelBuilder extends DefaultErrorHandlerBuilder implements DeadLetterChannelProperties { public DeadLetterChannelBuilder() { diff --git a/core/camel-core/src/test/java/org/apache/camel/processor/aggregator/BodyOnlyAggregationStrategyTest.java b/core/camel-core/src/test/java/org/apache/camel/processor/aggregator/BodyOnlyAggregationStrategyTest.java index ab577c834fb..854d781a8e7 100644 --- a/core/camel-core/src/test/java/org/apache/camel/processor/aggregator/BodyOnlyAggregationStrategyTest.java +++ b/core/camel-core/src/test/java/org/apache/camel/processor/aggregator/BodyOnlyAggregationStrategyTest.java @@ -18,9 +18,9 @@ package org.apache.camel.processor.aggregator; import org.apache.camel.AggregationStrategy; import org.apache.camel.ContextTestSupport; +import org.apache.camel.ErrorHandlerFactory; import org.apache.camel.Exchange; import org.apache.camel.ExtendedExchange; -import org.apache.camel.builder.DeadLetterChannelBuilder; import org.apache.camel.builder.RouteBuilder; import org.junit.jupiter.api.Test; @@ -45,11 +45,10 @@ public class BodyOnlyAggregationStrategyTest extends ContextTestSupport { return new RouteBuilder() { @Override public void configure() throws Exception { - DeadLetterChannelBuilder deadLetterChannelBuilder = deadLetterChannel("direct:error"); - deadLetterChannelBuilder.setUseOriginalMessage(true); + ErrorHandlerFactory dh = deadLetterChannel("direct:error").useOriginalMessage(); from("direct:failingRoute") - .errorHandler(deadLetterChannelBuilder) + .errorHandler(dh) .to("mock:failingRoute") .throwException(new RuntimeException("Boem!"));
