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 2020/11/07 11:11:19 UTC

[camel] branch master updated (0c74f41 -> 036773e)

This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git.


    from 0c74f41  camel-core - Optimize to remove last bits of reifiers when no longer needed. And only register cleaner when really needed such as when using custom reifiers.
     new 1ae2632  CAMEL-15823: camel-core - Optimize to use shared redelivery policy and logger for error handler when they use out of the box settings.
     new 036773e  CAMEL-15823: camel-core - Optimize to use shared exchange formatter for error handler when they use out of the box settings.

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../apache/camel/builder/DefaultErrorHandlerBuilder.java  | 15 +++++++++++++++
 .../errorhandler/DefaultErrorHandlerConfiguration.java    |  6 ++++++
 .../camel/processor/errorhandler/DeadLetterChannel.java   |  8 +++++++-
 .../camel/processor/errorhandler/DefaultErrorHandler.java |  8 +++++++-
 .../camel/processor/errorhandler/ErrorHandlerSupport.java | 12 ++++++++++++
 .../processor/errorhandler/RedeliveryErrorHandler.java    | 11 ++---------
 .../camel/processor/errorhandler/RedeliveryPolicy.java    |  3 +++
 .../reifier/errorhandler/DeadLetterChannelReifier.java    | 11 +++++++++--
 .../reifier/errorhandler/DefaultErrorHandlerReifier.java  | 11 +++++++++--
 9 files changed, 70 insertions(+), 15 deletions(-)


[camel] 01/02: CAMEL-15823: camel-core - Optimize to use shared redelivery policy and logger for error handler when they use out of the box settings.

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 1ae2632e1fe4423697e35cebf0106220ab884966
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sat Nov 7 11:37:43 2020 +0100

    CAMEL-15823: camel-core - Optimize to use shared redelivery policy and logger for error handler when they use out of the box settings.
---
 .../apache/camel/builder/DefaultErrorHandlerBuilder.java  | 15 +++++++++++++++
 .../errorhandler/DefaultErrorHandlerConfiguration.java    |  6 ++++++
 .../camel/processor/errorhandler/DeadLetterChannel.java   |  8 +++++++-
 .../camel/processor/errorhandler/DefaultErrorHandler.java |  8 +++++++-
 .../camel/processor/errorhandler/ErrorHandlerSupport.java |  3 +++
 .../camel/processor/errorhandler/RedeliveryPolicy.java    |  3 +++
 .../reifier/errorhandler/DeadLetterChannelReifier.java    |  7 ++++++-
 .../reifier/errorhandler/DefaultErrorHandlerReifier.java  | 11 +++++++++--
 8 files changed, 56 insertions(+), 5 deletions(-)

diff --git a/core/camel-core-model/src/main/java/org/apache/camel/builder/DefaultErrorHandlerBuilder.java b/core/camel-core-model/src/main/java/org/apache/camel/builder/DefaultErrorHandlerBuilder.java
index ab235fe2..fff2bb85 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/builder/DefaultErrorHandlerBuilder.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/builder/DefaultErrorHandlerBuilder.java
@@ -513,6 +513,16 @@ public class DefaultErrorHandlerBuilder extends ErrorHandlerBuilderSupport imple
         this.failureProcessorRef = failureProcessorRef;
     }
 
+    @Override
+    public boolean hasRedeliveryPolicy() {
+        return redeliveryPolicy != null;
+    }
+
+    @Override
+    public RedeliveryPolicy getDefaultRedeliveryPolicy() {
+        return RedeliveryPolicy.DEFAULT_POLICY;
+    }
+
     public RedeliveryPolicy getRedeliveryPolicy() {
         if (redeliveryPolicy == null) {
             redeliveryPolicy = createRedeliveryPolicy();
@@ -527,6 +537,11 @@ public class DefaultErrorHandlerBuilder extends ErrorHandlerBuilderSupport imple
         this.redeliveryPolicy = redeliveryPolicy;
     }
 
+    @Override
+    public boolean hasLogger() {
+        return logger != null;
+    }
+
     public CamelLogger getLogger() {
         if (logger == null) {
             logger = createLogger();
diff --git a/core/camel-core-model/src/main/java/org/apache/camel/model/errorhandler/DefaultErrorHandlerConfiguration.java b/core/camel-core-model/src/main/java/org/apache/camel/model/errorhandler/DefaultErrorHandlerConfiguration.java
index 5be22fb..77851be 100644
--- a/core/camel-core-model/src/main/java/org/apache/camel/model/errorhandler/DefaultErrorHandlerConfiguration.java
+++ b/core/camel-core-model/src/main/java/org/apache/camel/model/errorhandler/DefaultErrorHandlerConfiguration.java
@@ -36,12 +36,18 @@ public interface DefaultErrorHandlerConfiguration extends ErrorHandlerFactory {
 
     void setExceptionPolicyStrategyRef(String exceptionPolicyStrategyRef);
 
+    boolean hasLogger();
+
     CamelLogger getLogger();
 
     void setLogger(CamelLogger logger);
 
+    boolean hasRedeliveryPolicy();
+
     RedeliveryPolicy getRedeliveryPolicy();
 
+    RedeliveryPolicy getDefaultRedeliveryPolicy();
+
     void setRedeliveryPolicy(RedeliveryPolicy redeliveryPolicy);
 
     Processor getOnRedelivery();
diff --git a/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/DeadLetterChannel.java b/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/DeadLetterChannel.java
index f4095eb..f4ce08f 100644
--- a/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/DeadLetterChannel.java
+++ b/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/DeadLetterChannel.java
@@ -19,9 +19,11 @@ package org.apache.camel.processor.errorhandler;
 import java.util.concurrent.ScheduledExecutorService;
 
 import org.apache.camel.CamelContext;
+import org.apache.camel.LoggingLevel;
 import org.apache.camel.Predicate;
 import org.apache.camel.Processor;
 import org.apache.camel.spi.CamelLogger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Implements a <a href="http://camel.apache.org/dead-letter-channel.html">Dead Letter Channel</a> after attempting to
@@ -29,6 +31,9 @@ import org.apache.camel.spi.CamelLogger;
  */
 public class DeadLetterChannel extends RedeliveryErrorHandler {
 
+    private static final CamelLogger DEFAULT_LOGGER
+            = new CamelLogger(LoggerFactory.getLogger(DeadLetterChannel.class), LoggingLevel.ERROR);
+
     /**
      * Creates the dead letter channel.
      *
@@ -63,7 +68,8 @@ public class DeadLetterChannel extends RedeliveryErrorHandler {
                              ScheduledExecutorService executorService, Processor onPrepareProcessor,
                              Processor onExceptionOccurredProcessor) {
 
-        super(camelContext, output, logger, redeliveryProcessor, redeliveryPolicy, deadLetter, deadLetterUri,
+        super(camelContext, output, logger != null ? logger : DEFAULT_LOGGER, redeliveryProcessor, redeliveryPolicy, deadLetter,
+              deadLetterUri,
               deadLetterHandleException,
               useOriginalMessagePolicy, useOriginalBodyPolicy, retryWhile, executorService, onPrepareProcessor,
               onExceptionOccurredProcessor);
diff --git a/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/DefaultErrorHandler.java b/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/DefaultErrorHandler.java
index fb83248..d4cbef7 100644
--- a/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/DefaultErrorHandler.java
+++ b/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/DefaultErrorHandler.java
@@ -19,15 +19,20 @@ package org.apache.camel.processor.errorhandler;
 import java.util.concurrent.ScheduledExecutorService;
 
 import org.apache.camel.CamelContext;
+import org.apache.camel.LoggingLevel;
 import org.apache.camel.Predicate;
 import org.apache.camel.Processor;
 import org.apache.camel.spi.CamelLogger;
+import org.slf4j.LoggerFactory;
 
 /**
  * Default error handler
  */
 public class DefaultErrorHandler extends RedeliveryErrorHandler {
 
+    private static final CamelLogger DEFAULT_LOGGER
+            = new CamelLogger(LoggerFactory.getLogger(DefaultErrorHandler.class), LoggingLevel.ERROR);
+
     /**
      * Creates the default error handler.
      *
@@ -52,7 +57,8 @@ public class DefaultErrorHandler extends RedeliveryErrorHandler {
                                ScheduledExecutorService executorService, Processor onPrepareProcessor,
                                Processor onExceptionOccurredProcessor) {
 
-        super(camelContext, output, logger, redeliveryProcessor, redeliveryPolicy, null, null, true, false, false, retryWhile,
+        super(camelContext, output, logger != null ? logger : DEFAULT_LOGGER, redeliveryProcessor, redeliveryPolicy, null, null,
+              true, false, false, retryWhile,
               executorService, onPrepareProcessor, onExceptionOccurredProcessor);
         setExceptionPolicy(exceptionPolicyStrategy);
     }
diff --git a/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/ErrorHandlerSupport.java b/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/ErrorHandlerSupport.java
index 424934c..ba7447b 100644
--- a/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/ErrorHandlerSupport.java
+++ b/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/ErrorHandlerSupport.java
@@ -21,6 +21,7 @@ import java.util.Map;
 
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
+import org.apache.camel.spi.CamelLogger;
 import org.apache.camel.spi.ErrorHandler;
 import org.apache.camel.support.ChildServiceSupport;
 
@@ -32,6 +33,8 @@ public abstract class ErrorHandlerSupport extends ChildServiceSupport implements
     protected final Map<ExceptionPolicyKey, ExceptionPolicy> exceptionPolicies = new LinkedHashMap<>();
     // optimize to use a shared instance
     protected ExceptionPolicyStrategy exceptionPolicy = DefaultExceptionPolicyStrategy.INSTANCE;
+    // optimize to use a shared instance
+    public static final CamelLogger DEFAULT_CAMEL_LOGGER = new CamelLogger();
 
     public void addErrorHandler(Processor errorHandler) {
         addChildService(errorHandler);
diff --git a/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryPolicy.java b/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryPolicy.java
index 8f20646..de94f68 100644
--- a/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryPolicy.java
+++ b/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryPolicy.java
@@ -83,6 +83,9 @@ public class RedeliveryPolicy implements Cloneable, Serializable {
     private static final long serialVersionUID = -338222777701473252L;
     private static final Logger LOG = LoggerFactory.getLogger(RedeliveryPolicy.class);
 
+    // default policy using out of the box settings which can be shared
+    public static final RedeliveryPolicy DEFAULT_POLICY = new RedeliveryPolicy();
+
     protected long redeliveryDelay = 1000L;
     protected int maximumRedeliveries;
     protected long maximumRedeliveryDelay = 60 * 1000L;
diff --git a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DeadLetterChannelReifier.java b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DeadLetterChannelReifier.java
index f5981bd..16ef459 100644
--- a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DeadLetterChannelReifier.java
+++ b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DeadLetterChannelReifier.java
@@ -23,6 +23,7 @@ import org.apache.camel.Processor;
 import org.apache.camel.Route;
 import org.apache.camel.model.errorhandler.DeadLetterChannelConfiguration;
 import org.apache.camel.processor.errorhandler.DeadLetterChannel;
+import org.apache.camel.processor.errorhandler.RedeliveryPolicy;
 import org.apache.camel.util.StringHelper;
 
 public class DeadLetterChannelReifier extends DefaultErrorHandlerReifier<DeadLetterChannelConfiguration> {
@@ -35,10 +36,14 @@ public class DeadLetterChannelReifier extends DefaultErrorHandlerReifier<DeadLet
     public Processor createErrorHandler(Processor processor) throws Exception {
         validateDeadLetterUri();
 
+        // use either default redelivery policy or explicit configured policy
+        RedeliveryPolicy redeliveryPolicy
+                = definition.hasRedeliveryPolicy() ? definition.getRedeliveryPolicy() : definition.getDefaultRedeliveryPolicy();
+
         DeadLetterChannel answer = new DeadLetterChannel(
                 camelContext, processor, definition.getLogger(),
                 getBean(Processor.class, definition.getOnRedelivery(), definition.getOnRedeliveryRef()),
-                definition.getRedeliveryPolicy(), definition.getExceptionPolicyStrategy(),
+                redeliveryPolicy, definition.getExceptionPolicyStrategy(),
                 getBean(Processor.class, definition.getFailureProcessor(), definition.getFailureProcessorRef()),
                 definition.getDeadLetterUri(), definition.isDeadLetterHandleNewException(), definition.isUseOriginalMessage(),
                 definition.isUseOriginalBody(),
diff --git a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DefaultErrorHandlerReifier.java b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DefaultErrorHandlerReifier.java
index 2d2ab59..fd13371 100644
--- a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DefaultErrorHandlerReifier.java
+++ b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DefaultErrorHandlerReifier.java
@@ -24,6 +24,8 @@ import org.apache.camel.Route;
 import org.apache.camel.model.errorhandler.DefaultErrorHandlerConfiguration;
 import org.apache.camel.processor.errorhandler.DefaultErrorHandler;
 import org.apache.camel.processor.errorhandler.ExceptionPolicyStrategy;
+import org.apache.camel.processor.errorhandler.RedeliveryPolicy;
+import org.apache.camel.spi.CamelLogger;
 import org.apache.camel.spi.ExecutorServiceManager;
 import org.apache.camel.spi.ThreadPoolProfile;
 
@@ -35,10 +37,15 @@ public class DefaultErrorHandlerReifier<T extends DefaultErrorHandlerConfigurati
 
     @Override
     public Processor createErrorHandler(Processor processor) throws Exception {
+        // use either default redelivery policy or explicit configured policy
+        RedeliveryPolicy redeliveryPolicy
+                = definition.hasRedeliveryPolicy() ? definition.getRedeliveryPolicy() : definition.getDefaultRedeliveryPolicy();
+        CamelLogger logger = definition.hasLogger() ? definition.getLogger() : null;
+
         DefaultErrorHandler answer = new DefaultErrorHandler(
-                camelContext, processor, definition.getLogger(),
+                camelContext, processor, logger,
                 getBean(Processor.class, definition.getOnRedelivery(), definition.getOnRedeliveryRef()),
-                definition.getRedeliveryPolicy(),
+                redeliveryPolicy,
                 getBean(ExceptionPolicyStrategy.class, definition.getExceptionPolicyStrategy(),
                         definition.getExceptionPolicyStrategyRef()),
                 getPredicate(definition.getRetryWhile(), definition.getRetryWhileRef()),


[camel] 02/02: CAMEL-15823: camel-core - Optimize to use shared exchange formatter for error handler when they use out of the box settings.

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 036773e65dc9456c5f508767e8c0b669d205ba7f
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sat Nov 7 12:09:45 2020 +0100

    CAMEL-15823: camel-core - Optimize to use shared exchange formatter for error handler when they use out of the box settings.
---
 .../camel/processor/errorhandler/ErrorHandlerSupport.java     |  9 +++++++++
 .../camel/processor/errorhandler/RedeliveryErrorHandler.java  | 11 ++---------
 .../camel/reifier/errorhandler/DeadLetterChannelReifier.java  |  6 ++++--
 .../reifier/errorhandler/DefaultErrorHandlerReifier.java      |  2 +-
 4 files changed, 16 insertions(+), 12 deletions(-)

diff --git a/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/ErrorHandlerSupport.java b/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/ErrorHandlerSupport.java
index ba7447b..ee50e39 100644
--- a/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/ErrorHandlerSupport.java
+++ b/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/ErrorHandlerSupport.java
@@ -24,6 +24,7 @@ import org.apache.camel.Processor;
 import org.apache.camel.spi.CamelLogger;
 import org.apache.camel.spi.ErrorHandler;
 import org.apache.camel.support.ChildServiceSupport;
+import org.apache.camel.support.processor.DefaultExchangeFormatter;
 
 /**
  * Support class for {@link ErrorHandler} implementations.
@@ -35,6 +36,14 @@ public abstract class ErrorHandlerSupport extends ChildServiceSupport implements
     protected ExceptionPolicyStrategy exceptionPolicy = DefaultExceptionPolicyStrategy.INSTANCE;
     // optimize to use a shared instance
     public static final CamelLogger DEFAULT_CAMEL_LOGGER = new CamelLogger();
+    // optimize to use a shared instance
+    public static final DefaultExchangeFormatter DEFAULT_EXCHANGE_FORMATTER = new DefaultExchangeFormatter();
+    static {
+        DEFAULT_EXCHANGE_FORMATTER.setShowExchangeId(true);
+        DEFAULT_EXCHANGE_FORMATTER.setMultiline(true);
+        DEFAULT_EXCHANGE_FORMATTER.setShowHeaders(true);
+        DEFAULT_EXCHANGE_FORMATTER.setStyle(DefaultExchangeFormatter.OutputStyle.Fixed);
+    }
 
     public void addErrorHandler(Processor errorHandler) {
         addChildService(errorHandler);
diff --git a/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java b/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java
index 15869e4..e8619bf 100644
--- a/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java
+++ b/core/camel-core-processor/src/main/java/org/apache/camel/processor/errorhandler/RedeliveryErrorHandler.java
@@ -51,7 +51,6 @@ import org.apache.camel.support.CamelContextHelper;
 import org.apache.camel.support.EventHelper;
 import org.apache.camel.support.ExchangeHelper;
 import org.apache.camel.support.MessageHelper;
-import org.apache.camel.support.processor.DefaultExchangeFormatter;
 import org.apache.camel.support.service.ServiceHelper;
 import org.apache.camel.util.ObjectHelper;
 import org.apache.camel.util.StopWatch;
@@ -137,22 +136,16 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport
             }
         } else {
             this.customExchangeFormatter = false;
-            // setup exchange formatter to be used for message history dump
-            DefaultExchangeFormatter formatter = new DefaultExchangeFormatter();
-            formatter.setShowExchangeId(true);
-            formatter.setMultiline(true);
-            formatter.setShowHeaders(true);
-            formatter.setStyle(DefaultExchangeFormatter.OutputStyle.Fixed);
+            this.exchangeFormatter = DEFAULT_EXCHANGE_FORMATTER;
             try {
                 Integer maxChars = CamelContextHelper.parseInteger(camelContext,
                         camelContext.getGlobalOption(Exchange.LOG_DEBUG_BODY_MAX_CHARS));
                 if (maxChars != null) {
-                    formatter.setMaxChars(maxChars);
+                    DEFAULT_EXCHANGE_FORMATTER.setMaxChars(maxChars);
                 }
             } catch (Exception e) {
                 throw RuntimeCamelException.wrapRuntimeCamelException(e);
             }
-            this.exchangeFormatter = formatter;
         }
     }
 
diff --git a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DeadLetterChannelReifier.java b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DeadLetterChannelReifier.java
index 16ef459..81a2003 100644
--- a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DeadLetterChannelReifier.java
+++ b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DeadLetterChannelReifier.java
@@ -24,6 +24,7 @@ import org.apache.camel.Route;
 import org.apache.camel.model.errorhandler.DeadLetterChannelConfiguration;
 import org.apache.camel.processor.errorhandler.DeadLetterChannel;
 import org.apache.camel.processor.errorhandler.RedeliveryPolicy;
+import org.apache.camel.spi.CamelLogger;
 import org.apache.camel.util.StringHelper;
 
 public class DeadLetterChannelReifier extends DefaultErrorHandlerReifier<DeadLetterChannelConfiguration> {
@@ -36,12 +37,13 @@ public class DeadLetterChannelReifier extends DefaultErrorHandlerReifier<DeadLet
     public Processor createErrorHandler(Processor processor) throws Exception {
         validateDeadLetterUri();
 
-        // use either default redelivery policy or explicit configured policy
+        // optimize to use shared default instance if using out of the box settings
         RedeliveryPolicy redeliveryPolicy
                 = definition.hasRedeliveryPolicy() ? definition.getRedeliveryPolicy() : definition.getDefaultRedeliveryPolicy();
+        CamelLogger logger = definition.hasLogger() ? definition.getLogger() : null;
 
         DeadLetterChannel answer = new DeadLetterChannel(
-                camelContext, processor, definition.getLogger(),
+                camelContext, processor, logger,
                 getBean(Processor.class, definition.getOnRedelivery(), definition.getOnRedeliveryRef()),
                 redeliveryPolicy, definition.getExceptionPolicyStrategy(),
                 getBean(Processor.class, definition.getFailureProcessor(), definition.getFailureProcessorRef()),
diff --git a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DefaultErrorHandlerReifier.java b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DefaultErrorHandlerReifier.java
index fd13371..86234fa 100644
--- a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DefaultErrorHandlerReifier.java
+++ b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/errorhandler/DefaultErrorHandlerReifier.java
@@ -37,7 +37,7 @@ public class DefaultErrorHandlerReifier<T extends DefaultErrorHandlerConfigurati
 
     @Override
     public Processor createErrorHandler(Processor processor) throws Exception {
-        // use either default redelivery policy or explicit configured policy
+        // optimize to use shared default instance if using out of the box settings
         RedeliveryPolicy redeliveryPolicy
                 = definition.hasRedeliveryPolicy() ? definition.getRedeliveryPolicy() : definition.getDefaultRedeliveryPolicy();
         CamelLogger logger = definition.hasLogger() ? definition.getLogger() : null;