CAMEL-8755: No Message History on deadLetterChannel
Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/6470fb38 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/6470fb38 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/6470fb38 Branch: refs/heads/master Commit: 6470fb38bdc5d62e4efa647890005d5f2f166d0f Parents: d3b56df Author: Claus Ibsen <davscl...@apache.org> Authored: Sun May 10 12:41:55 2015 +0200 Committer: Claus Ibsen <davscl...@apache.org> Committed: Sun May 10 12:44:42 2015 +0200 ---------------------------------------------------------------------- .../camel/builder/DeadLetterChannelBuilder.java | 9 --------- .../handler/ErrorHandlerDefinitionParser.java | 21 +++----------------- 2 files changed, 3 insertions(+), 27 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/6470fb38/camel-core/src/main/java/org/apache/camel/builder/DeadLetterChannelBuilder.java ---------------------------------------------------------------------- diff --git a/camel-core/src/main/java/org/apache/camel/builder/DeadLetterChannelBuilder.java b/camel-core/src/main/java/org/apache/camel/builder/DeadLetterChannelBuilder.java index f598d51..646ed2d 100644 --- a/camel-core/src/main/java/org/apache/camel/builder/DeadLetterChannelBuilder.java +++ b/camel-core/src/main/java/org/apache/camel/builder/DeadLetterChannelBuilder.java @@ -23,7 +23,6 @@ import org.apache.camel.NoSuchEndpointException; import org.apache.camel.Processor; import org.apache.camel.processor.DeadLetterChannel; import org.apache.camel.processor.FatalFallbackErrorHandler; -import org.apache.camel.processor.RedeliveryPolicy; import org.apache.camel.processor.SendProcessor; import org.apache.camel.spi.RouteContext; import org.apache.camel.util.CamelLogger; @@ -96,14 +95,6 @@ public class DeadLetterChannelBuilder extends DefaultErrorHandlerBuilder { } } - @Override - protected RedeliveryPolicy createRedeliveryPolicy() { - RedeliveryPolicy answer = new RedeliveryPolicy(); - // do not log exhausted message history by default for DLC - answer.setLogExhaustedMessageHistory(false); - return answer; - } - protected CamelLogger createLogger() { return new CamelLogger(LoggerFactory.getLogger(DeadLetterChannel.class), LoggingLevel.ERROR); } http://git-wip-us.apache.org/repos/asf/camel/blob/6470fb38/components/camel-spring/src/main/java/org/apache/camel/spring/handler/ErrorHandlerDefinitionParser.java ---------------------------------------------------------------------- diff --git a/components/camel-spring/src/main/java/org/apache/camel/spring/handler/ErrorHandlerDefinitionParser.java b/components/camel-spring/src/main/java/org/apache/camel/spring/handler/ErrorHandlerDefinitionParser.java index dde1229..65ae81a 100644 --- a/components/camel-spring/src/main/java/org/apache/camel/spring/handler/ErrorHandlerDefinitionParser.java +++ b/components/camel-spring/src/main/java/org/apache/camel/spring/handler/ErrorHandlerDefinitionParser.java @@ -35,7 +35,8 @@ import org.springframework.util.StringUtils; * The DefinitionParser to deal with the ErrorHandler */ public class ErrorHandlerDefinitionParser extends BeanDefinitionParser { - + protected BeanDefinitionParser redeliveryPolicyParser = new RedeliveryPolicyDefinitionParser(CamelRedeliveryPolicyFactoryBean.class); + public ErrorHandlerDefinitionParser() { // need to override the default super(null, false); @@ -93,8 +94,6 @@ public class ErrorHandlerDefinitionParser extends BeanDefinitionParser { throw new IllegalArgumentException("Cannot set both redeliveryPolicyRef and redeliveryPolicy," + " only one allowed, in error handler with id: " + id); } - boolean deadLetter = type.equals(ErrorHandlerType.DeadLetterChannel); - BeanDefinitionParser redeliveryPolicyParser = new RedeliveryPolicyDefinitionParser(CamelRedeliveryPolicyFactoryBean.class, deadLetter); BeanDefinition redeliveryPolicyDefinition = redeliveryPolicyParser.parse(childElement, parserContext); builder.addPropertyValue(localName, redeliveryPolicyDefinition); } @@ -195,27 +194,13 @@ public class ErrorHandlerDefinitionParser extends BeanDefinitionParser { protected class RedeliveryPolicyDefinitionParser extends BeanDefinitionParser { - private final boolean deadLetter; - - public RedeliveryPolicyDefinitionParser(Class<?> type, boolean deadLetter) { + public RedeliveryPolicyDefinitionParser(Class<?> type) { super(type, false); - this.deadLetter = deadLetter; } protected boolean shouldGenerateId() { return true; } - - protected void doParse(Element element, ParserContext parserContext, BeanDefinitionBuilder builder) { - super.doParse(element, parserContext, builder); - - // if dead letter then set logExhaustedMessageHistory default false if not explicit configured - boolean hasLogExhaustedMessageHistory = element.hasAttribute("logExhaustedMessageHistory"); - if (deadLetter && !hasLogExhaustedMessageHistory) { - builder.addPropertyValue("logExhaustedMessageHistory", "false"); - } - } - } }