You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2022/04/06 07:17:50 UTC
[camel] 04/09: CAMEL-16834: error handler in model DSL. WIP
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 <cl...@gmail.com>
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!"));