You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ha...@apache.org on 2011/05/17 18:50:39 UTC

svn commit: r1104401 - in /camel/trunk: camel-core/src/main/java/org/apache/camel/builder/ camel-core/src/main/java/org/apache/camel/processor/ camel-core/src/test/java/org/apache/camel/component/file/ camel-core/src/test/java/org/apache/camel/componen...

Author: hadrian
Date: Tue May 17 16:50:37 2011
New Revision: 1104401

URL: http://svn.apache.org/viewvc?rev=1104401&view=rev
Log:
CAMEL-3931. Remove handled api from error handler

Modified:
    camel/trunk/camel-core/src/main/java/org/apache/camel/builder/DeadLetterChannelBuilder.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/builder/DefaultErrorHandlerBuilder.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/processor/DeadLetterChannel.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/processor/DefaultErrorHandler.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/processor/LoggingErrorHandler.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFailureHandledTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FromFilePollThirdTimeOkTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/component/seda/SedaInOutWithErrorDeadLetterChannelTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/issues/AdviceWithContextScopedErrorHandlerIssueTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/issues/GertJBIIssueTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ConvertBodyTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelHandledPolicyTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelRedeliveryDelayPatternTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelRedeliveryTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/IdempotentConsumerAsyncTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/IdempotentConsumerConcurrentTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/IdempotentConsumerEagerTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/IdempotentConsumerTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/MultiErrorHandlerInRouteNotHandledTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RollbackTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitterTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/async/AsyncDeadLetterChannelExecutorServiceRefTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/async/AsyncDeadLetterChannelTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionUseOriginalBodyTest.java
    camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpDoNotDeleteFileIfProcessFailsTest.java
    camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpThirdPoolOkTest.java
    camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsUseOriginalBodyTest.java
    camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailDoNotDeleteIfProcessFailsTest.java
    camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandler.java
    camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandlerBuilder.java

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/builder/DeadLetterChannelBuilder.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/DeadLetterChannelBuilder.java?rev=1104401&r1=1104400&r2=1104401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/builder/DeadLetterChannelBuilder.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/builder/DeadLetterChannelBuilder.java Tue May 17 16:50:37 2011
@@ -55,9 +55,8 @@ public class DeadLetterChannelBuilder ex
         validateDeadLetterUri(routeContext);
 
         @SuppressWarnings("deprecation")
-        DeadLetterChannel answer = new DeadLetterChannel(routeContext.getCamelContext(), processor, getLogger(),
-                getOnRedelivery(), getRedeliveryPolicy(), getHandledPolicy(), getExceptionPolicyStrategy(),
-                getFailureProcessor(), getDeadLetterUri(), isUseOriginalMessage(),
+        DeadLetterChannel answer = new DeadLetterChannel(routeContext.getCamelContext(), processor, getLogger(), getOnRedelivery(), 
+                getRedeliveryPolicy(), getExceptionPolicyStrategy(), getFailureProcessor(), getDeadLetterUri(), isUseOriginalMessage(),
                 getRetryWhilePolicy(routeContext.getCamelContext()), getExecutorServiceRef());
         // configure error handler before we can use it
         configure(answer);
@@ -89,11 +88,6 @@ public class DeadLetterChannelBuilder ex
         }
     }
 
-    protected Predicate createHandledPolicy() {
-        // should be handled by default for dead letter channel
-        return PredicateBuilder.toPredicate(ExpressionBuilder.constantExpression(true));
-    }
-
     @Override
     protected RedeliveryPolicy createRedeliveryPolicy() {
         return new RedeliveryPolicy();

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/builder/DefaultErrorHandlerBuilder.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/DefaultErrorHandlerBuilder.java?rev=1104401&r1=1104400&r2=1104401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/builder/DefaultErrorHandlerBuilder.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/builder/DefaultErrorHandlerBuilder.java Tue May 17 16:50:37 2011
@@ -44,7 +44,6 @@ public class DefaultErrorHandlerBuilder 
     protected ExceptionPolicyStrategy exceptionPolicyStrategy = ErrorHandlerSupport.createDefaultExceptionPolicyStrategy();
     protected RedeliveryPolicy redeliveryPolicy;
     protected Processor onRedelivery;
-    protected Predicate handledPolicy;
     protected Predicate retryWhile;
     protected String retryWhileRef;
     protected Processor failureProcessor;
@@ -58,9 +57,8 @@ public class DefaultErrorHandlerBuilder 
     }
 
     public Processor createErrorHandler(RouteContext routeContext, Processor processor) throws Exception {
-        DefaultErrorHandler answer = new DefaultErrorHandler(routeContext.getCamelContext(), processor, getLogger(),
-                getOnRedelivery(), getRedeliveryPolicy(), getHandledPolicy(), getExceptionPolicyStrategy(),
-                getRetryWhilePolicy(routeContext.getCamelContext()), getExecutorServiceRef());
+        DefaultErrorHandler answer = new DefaultErrorHandler(routeContext.getCamelContext(), processor, getLogger(), getOnRedelivery(), 
+            getRedeliveryPolicy(), getExceptionPolicyStrategy(), getRetryWhilePolicy(routeContext.getCamelContext()), getExecutorServiceRef());
         // configure error handler before we can use it
         configure(answer);
         return answer;
@@ -180,51 +178,6 @@ public class DefaultErrorHandlerBuilder 
     }
 
     /**
-     * Sets whether the exchange should be marked as handled or not.
-     *
-     * @param handled  handled or not
-     * @return the builder
-     * @deprecated will be removed in the near future. An exception handler should <b>always</b> handle an exception,
-     * so it was not a good idea to allow end users to change that behavior. Instead of using handled(false) use
-     * the <a href="http://camel.apache.org/exception-clause.html">exception clause</a> instead.
-     */
-    @Deprecated
-    public DefaultErrorHandlerBuilder handled(boolean handled) {
-        Expression expression = ExpressionBuilder.constantExpression(Boolean.toString(handled));
-        return handled(expression);
-    }
-
-    /**
-     * Sets whether the exchange should be marked as handled or not.
-     *
-     * @param handled  predicate that determines true or false
-     * @return the builder
-     * @deprecated will be removed in the near future. An exception handler should <b>always</b> handle an exception,
-     * so it was not a good idea to allow end users to change that behavior. Instead of using handled(false) use
-     * the <a href="http://camel.apache.org/exception-clause.html">exception clause</a> instead.
-     */
-    @Deprecated
-    public DefaultErrorHandlerBuilder handled(Predicate handled) {
-        this.setHandledPolicy(handled);
-        return this;
-    }
-
-    /**
-     * Sets whether the exchange should be marked as handled or not.
-     *
-     * @param handled  expression that determines true or false
-     * @return the builder
-     * @deprecated will be removed in the near future. An exception handler should <b>always</b> handle an exception,
-     * so it was not a good idea to allow end users to change that behavior. Instead of using handled(false) use
-     * the <a href="http://camel.apache.org/exception-clause.html">exception clause</a> instead.
-     */
-    @Deprecated
-    public DefaultErrorHandlerBuilder handled(Expression handled) {
-        this.setHandledPolicy(toPredicate(handled));
-        return this;
-    }
-
-    /**
      * Sets the logger used for caught exceptions
      *
      * @param logger the logger
@@ -421,41 +374,6 @@ public class DefaultErrorHandlerBuilder 
         this.retryWhileRef = retryWhileRef;
     }
 
-    /**
-     * @deprecated will be removed in the near future. An exception handler should <b>always</b> handle an exception,
-     * so it was not a good idea to allow end users to change that behavior. Instead of using handled(false) use
-     * the <a href="http://camel.apache.org/exception-clause.html">exception clause</a> instead.
-     */
-    @Deprecated
-    public Predicate getHandledPolicy() {
-        if (handledPolicy == null) {
-            handledPolicy = createHandledPolicy();
-        }
-        return handledPolicy;
-    }
-
-    /**
-     * @deprecated will be removed in the near future. An exception handler should <b>always</b> handle an exception,
-     * so it was not a good idea to allow end users to change that behavior. Instead of using handled(false) use
-     * the <a href="http://camel.apache.org/exception-clause.html">exception clause</a> instead.
-     */
-    @Deprecated
-    public void setHandledPolicy(Predicate handled) {
-        this.handledPolicy = handled;
-    }
-
-    /**
-     * Sets the handled using a boolean and thus easier to use for Spring XML configuration as well.
-     *
-     * @deprecated will be removed in the near future. An exception handler should <b>always</b> handle an exception,
-     * so it was not a good idea to allow end users to change that behavior. Instead of using handled(false) use
-     * the <a href="http://camel.apache.org/exception-clause.html">exception clause</a> instead.
-     */
-    @Deprecated
-    public void setHandled(boolean handled) {
-        handled(handled);
-    }
-
     public String getDeadLetterUri() {
         return deadLetterUri;
     }
@@ -498,11 +416,6 @@ public class DefaultErrorHandlerBuilder 
         this.executorServiceRef = executorServiceRef;
     }
 
-    protected Predicate createHandledPolicy() {
-        // should NOT be handled by default for default error handler
-        return PredicateBuilder.toPredicate(ExpressionBuilder.constantExpression(false));
-    }
-
     protected RedeliveryPolicy createRedeliveryPolicy() {
         RedeliveryPolicy policy = new RedeliveryPolicy();
         policy.disableRedelivery();

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/processor/DeadLetterChannel.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/DeadLetterChannel.java?rev=1104401&r1=1104400&r2=1104401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/processor/DeadLetterChannel.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/processor/DeadLetterChannel.java Tue May 17 16:50:37 2011
@@ -20,6 +20,8 @@ import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.Predicate;
 import org.apache.camel.Processor;
+import org.apache.camel.builder.ExpressionBuilder;
+import org.apache.camel.builder.PredicateBuilder;
 import org.apache.camel.processor.exceptionpolicy.ExceptionPolicyStrategy;
 
 /**
@@ -40,7 +42,6 @@ public class DeadLetterChannel extends R
      * @param logger                    logger to use for logging failures and redelivery attempts
      * @param redeliveryProcessor       an optional processor to run before redelivery attempt
      * @param redeliveryPolicy          policy for redelivery
-     * @param handledPolicy             policy for handling failed exception that are moved to the dead letter queue
      * @param exceptionPolicyStrategy   strategy for onException handling
      * @param deadLetter                the failure processor to send failed exchanges to
      * @param deadLetterUri             an optional uri for logging purpose
@@ -49,9 +50,9 @@ public class DeadLetterChannel extends R
      * @param executorServiceRef        reference to a {@link java.util.concurrent.ScheduledExecutorService} to be used for redelivery thread pool. Can be <tt>null</tt>.
      */
     public DeadLetterChannel(CamelContext camelContext, Processor output, CamelLogger logger, Processor redeliveryProcessor, RedeliveryPolicy redeliveryPolicy,
-                             Predicate handledPolicy, ExceptionPolicyStrategy exceptionPolicyStrategy, Processor deadLetter,
-                             String deadLetterUri, boolean useOriginalBodyPolicy, Predicate retryWhile, String executorServiceRef) {
-        super(camelContext, output, logger, redeliveryProcessor, redeliveryPolicy, handledPolicy, deadLetter, deadLetterUri, useOriginalBodyPolicy, retryWhile, executorServiceRef);
+            ExceptionPolicyStrategy exceptionPolicyStrategy, Processor deadLetter, String deadLetterUri, boolean useOriginalBodyPolicy, Predicate retryWhile, String executorServiceRef) {
+
+        super(camelContext, output, logger, redeliveryProcessor, redeliveryPolicy, deadLetter, deadLetterUri, useOriginalBodyPolicy, retryWhile, executorServiceRef);
         setExceptionPolicy(exceptionPolicyStrategy);
     }
 
@@ -69,4 +70,9 @@ public class DeadLetterChannel extends R
         return "DeadLetterChannel[" + output + ", " + (deadLetterUri != null ? deadLetterUri : deadLetter) + "]";
     }
 
+    @Override
+    protected Predicate getDefaultHandledPredicate() {
+        // DeadLetterChannel handles errors before sending to DLQ
+        return PredicateBuilder.toPredicate(ExpressionBuilder.constantExpression(true));
+    }
 }

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/processor/DefaultErrorHandler.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/DefaultErrorHandler.java?rev=1104401&r1=1104400&r2=1104401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/processor/DefaultErrorHandler.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/processor/DefaultErrorHandler.java Tue May 17 16:50:37 2011
@@ -37,15 +37,14 @@ public class DefaultErrorHandler extends
      * @param logger                    logger to use for logging failures and redelivery attempts
      * @param redeliveryProcessor       an optional processor to run before redelivery attempt
      * @param redeliveryPolicy          policy for redelivery
-     * @param handledPolicy             policy for handling failed exception that are moved to the dead letter queue
      * @param exceptionPolicyStrategy   strategy for onException handling
      * @param retryWhile                retry while
      * @param executorServiceRef        reference to a {@link java.util.concurrent.ScheduledExecutorService} to be used for redelivery thread pool. Can be <tt>null</tt>.
      */
     public DefaultErrorHandler(CamelContext camelContext, Processor output, CamelLogger logger, Processor redeliveryProcessor,
-                               RedeliveryPolicy redeliveryPolicy, Predicate handledPolicy,
-                               ExceptionPolicyStrategy exceptionPolicyStrategy, Predicate retryWhile, String executorServiceRef) {
-        super(camelContext, output, logger, redeliveryProcessor, redeliveryPolicy, handledPolicy, null, null, false, retryWhile, executorServiceRef);
+            RedeliveryPolicy redeliveryPolicy, ExceptionPolicyStrategy exceptionPolicyStrategy, Predicate retryWhile, String executorServiceRef) {
+
+        super(camelContext, output, logger, redeliveryProcessor, redeliveryPolicy, null, null, false, retryWhile, executorServiceRef);
         setExceptionPolicy(exceptionPolicyStrategy);
     }
 

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/processor/LoggingErrorHandler.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/LoggingErrorHandler.java?rev=1104401&r1=1104400&r2=1104401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/processor/LoggingErrorHandler.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/processor/LoggingErrorHandler.java Tue May 17 16:50:37 2011
@@ -36,7 +36,7 @@ public class LoggingErrorHandler extends
      * @param exceptionPolicyStrategy strategy for onException handling
      */
     public LoggingErrorHandler(CamelContext camelContext, Processor output, CamelLogger logger, ExceptionPolicyStrategy exceptionPolicyStrategy) {
-        super(camelContext, output, logger, null, new RedeliveryPolicy(), null, exceptionPolicyStrategy, null, null);
+        super(camelContext, output, logger, null, new RedeliveryPolicy(), exceptionPolicyStrategy, null, null);
     }
 
     @Override

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java?rev=1104401&r1=1104400&r2=1104401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java Tue May 17 16:50:37 2011
@@ -58,7 +58,6 @@ public abstract class RedeliveryErrorHan
     protected final AsyncProcessor outputAsync;
     protected final Processor redeliveryProcessor;
     protected final RedeliveryPolicy redeliveryPolicy;
-    protected final Predicate handledPolicy;
     protected final Predicate retryWhilePolicy;
     protected final CamelLogger logger;
     protected final boolean useOriginalMessagePolicy;
@@ -78,7 +77,7 @@ public abstract class RedeliveryErrorHan
         Processor deadLetterProcessor = deadLetter;
         Processor failureProcessor;
         Processor onRedeliveryProcessor = redeliveryProcessor;
-        Predicate handledPredicate = handledPolicy;
+        Predicate handledPredicate = getDefaultHandledPredicate();
         Predicate continuedPredicate;
         boolean useOriginalInMessage = useOriginalMessagePolicy;
         boolean asyncDelayedRedelivery = redeliveryPolicy.isAsyncDelayedRedelivery();
@@ -168,9 +167,10 @@ public abstract class RedeliveryErrorHan
         }
     }
 
-    public RedeliveryErrorHandler(CamelContext camelContext, Processor output, CamelLogger logger, Processor redeliveryProcessor,
-                                  RedeliveryPolicy redeliveryPolicy, Predicate handledPolicy, Processor deadLetter,
-                                  String deadLetterUri, boolean useOriginalMessagePolicy, Predicate retryWhile, String executorServiceRef) {
+    public RedeliveryErrorHandler(CamelContext camelContext, Processor output, CamelLogger logger, 
+            Processor redeliveryProcessor, RedeliveryPolicy redeliveryPolicy, Processor deadLetter, 
+            String deadLetterUri, boolean useOriginalMessagePolicy, Predicate retryWhile, String executorServiceRef) {
+
         ObjectHelper.notNull(camelContext, "CamelContext", this);
         ObjectHelper.notNull(redeliveryPolicy, "RedeliveryPolicy", this);
 
@@ -182,7 +182,6 @@ public abstract class RedeliveryErrorHan
         this.redeliveryPolicy = redeliveryPolicy;
         this.logger = logger;
         this.deadLetterUri = deadLetterUri;
-        this.handledPolicy = handledPolicy;
         this.useOriginalMessagePolicy = useOriginalMessagePolicy;
         this.retryWhilePolicy = retryWhile;
         this.executorServiceRef = executorServiceRef;
@@ -464,6 +463,11 @@ public abstract class RedeliveryErrorHan
         return logger;
     }
 
+    protected Predicate getDefaultHandledPredicate() {
+        // Default is not not handle errors
+        return null;
+    }
+
     protected void prepareExchangeForContinue(Exchange exchange, RedeliveryData data) {
         Exception caught = exchange.getException();
 

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFailureHandledTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFailureHandledTest.java?rev=1104401&r1=1104400&r2=1104401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFailureHandledTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FileConsumerFailureHandledTest.java Tue May 17 16:50:37 2011
@@ -108,10 +108,10 @@ public class FileConsumerFailureHandledT
             public void configure() throws Exception {
                 // make sure mock:error is the dead letter channel
                 // use no delay for fast unit testing
-                errorHandler(deadLetterChannel("mock:error").maximumRedeliveries(2)
-                                 .redeliveryDelay(0).logStackTrace(false).handled(false));
+                errorHandler(deadLetterChannel("mock:error").maximumRedeliveries(2).redeliveryDelay(0).logStackTrace(false));
 
                 // special for not handled when we got beer
+                onException(RuntimeCamelException.class).handled(false);
                 onException(ValidationException.class).onWhen(exceptionMessage().contains("beer"))
                     .handled(false).to("mock:beer");
 

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FromFilePollThirdTimeOkTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FromFilePollThirdTimeOkTest.java?rev=1104401&r1=1104400&r2=1104401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FromFilePollThirdTimeOkTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FromFilePollThirdTimeOkTest.java Tue May 17 16:50:37 2011
@@ -21,6 +21,7 @@ import java.io.File;
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
 import org.apache.camel.Processor;
+import org.apache.camel.RuntimeCamelException;
 import org.apache.camel.builder.NotifyBuilder;
 import org.apache.camel.builder.RouteBuilder;
 
@@ -62,8 +63,8 @@ public class FromFilePollThirdTimeOkTest
         return new RouteBuilder() {
             public void configure() throws Exception {
                 // no redeliveries as we want the file consumer to try again
-                errorHandler(deadLetterChannel("mock:error").maximumRedeliveries(0)
-                             .logStackTrace(false).handled(false));
+                errorHandler(deadLetterChannel("mock:error").maximumRedeliveries(0).logStackTrace(false));
+                onException(IllegalArgumentException.class).handled(false);
 
                 from("file://target/deletefile?delete=true&initialDelay=0&delay=10").process(new Processor() {
                     public void process(Exchange exchange) throws Exception {

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/component/seda/SedaInOutWithErrorDeadLetterChannelTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/seda/SedaInOutWithErrorDeadLetterChannelTest.java?rev=1104401&r1=1104400&r2=1104401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/component/seda/SedaInOutWithErrorDeadLetterChannelTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/seda/SedaInOutWithErrorDeadLetterChannelTest.java Tue May 17 16:50:37 2011
@@ -45,7 +45,8 @@ public class SedaInOutWithErrorDeadLette
         return new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                errorHandler(deadLetterChannel("mock:dead").maximumRedeliveries(2).redeliveryDelay(0).handled(false));
+                errorHandler(deadLetterChannel("mock:dead").maximumRedeliveries(2).redeliveryDelay(0));
+                onException(IllegalArgumentException.class).handled(false);
 
                 from("direct:start").to("seda:foo");
 

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/issues/AdviceWithContextScopedErrorHandlerIssueTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/issues/AdviceWithContextScopedErrorHandlerIssueTest.java?rev=1104401&r1=1104400&r2=1104401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/issues/AdviceWithContextScopedErrorHandlerIssueTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/issues/AdviceWithContextScopedErrorHandlerIssueTest.java Tue May 17 16:50:37 2011
@@ -51,7 +51,6 @@ public class AdviceWithContextScopedErro
                 errorHandler(deadLetterChannel("mock:error"));
 
                 from("direct:start").routeId("route-a").to("direct:bar");
-
                 from("direct:bar").routeId("route-b").to("mock:bar");
             }
         };

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/issues/GertJBIIssueTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/issues/GertJBIIssueTest.java?rev=1104401&r1=1104400&r2=1104401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/issues/GertJBIIssueTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/issues/GertJBIIssueTest.java Tue May 17 16:50:37 2011
@@ -41,12 +41,13 @@ public class GertJBIIssueTest extends Co
         context.addRoutes(new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                errorHandler(deadLetterChannel("mock:dlc").maximumRedeliveries(0).handled(false));
+                errorHandler(deadLetterChannel("mock:dlc").maximumRedeliveries(0));
+                onException(IllegalArgumentException.class).handled(false);
 
                 from("direct:start")
-                        .threads(2)
-                        .to("mock:done")
-                        .throwException(new IllegalArgumentException("Forced"));
+                    .threads(2)
+                    .to("mock:done")
+                    .throwException(new IllegalArgumentException("Forced"));
 
             }
         });
@@ -72,12 +73,13 @@ public class GertJBIIssueTest extends Co
         context.addRoutes(new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                errorHandler(deadLetterChannel("mock:dlc").maximumRedeliveries(0).handled(false));
+                errorHandler(deadLetterChannel("mock:dlc").maximumRedeliveries(0));
+                onException(IllegalArgumentException.class).handled(false);
 
                 from("direct:start")
-                        .threads(2)
-                        .to("mock:done")
-                        .throwException(new IllegalArgumentException("Forced"));
+                    .threads(2)
+                    .to("mock:done")
+                    .throwException(new IllegalArgumentException("Forced"));
 
             }
         });

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ConvertBodyTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ConvertBodyTest.java?rev=1104401&r1=1104400&r2=1104401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ConvertBodyTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ConvertBodyTest.java Tue May 17 16:50:37 2011
@@ -135,16 +135,14 @@ public class ConvertBodyTest extends Con
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
             public void configure() {
-                errorHandler(deadLetterChannel("mock:dead").disableRedelivery().handled(false));
+                errorHandler(deadLetterChannel("mock:dead").disableRedelivery());
+                // we don't want the DLC to handle the exception
+                onException(InvalidPayloadException.class).handled(false);
 
                 from("direct:start").convertBodyTo(Integer.class).to("mock:result");
-
                 from("direct:invalid").convertBodyTo(Date.class).to("mock:result");
-
                 from("direct:charset").convertBodyTo(byte[].class, "iso-8859-1").to("mock:result");
-
                 from("direct:charset2").convertBodyTo(byte[].class, "utf-16").to("mock:result");
-                
                 from("direct:charset3").convertBodyTo(String.class, "utf-16").to("mock:result");
             }
         };

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelHandledPolicyTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelHandledPolicyTest.java?rev=1104401&r1=1104400&r2=1104401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelHandledPolicyTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelHandledPolicyTest.java Tue May 17 16:50:37 2011
@@ -57,7 +57,8 @@ public class DeadLetterChannelHandledPol
         context.addRoutes(new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                errorHandler(deadLetterChannel("mock:dead").maximumRedeliveries(1).redeliveryDelay(0).logStackTrace(false).handled(false));
+                errorHandler(deadLetterChannel("mock:dead").maximumRedeliveries(1).redeliveryDelay(0).logStackTrace(false));
+                onException(IllegalArgumentException.class).handled(false);
 
                 from("direct:start").process(new MyThrowExceptionProcessor());
             }

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelRedeliveryDelayPatternTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelRedeliveryDelayPatternTest.java?rev=1104401&r1=1104400&r2=1104401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelRedeliveryDelayPatternTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelRedeliveryDelayPatternTest.java Tue May 17 16:50:37 2011
@@ -59,12 +59,14 @@ public class DeadLetterChannelRedelivery
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
-                errorHandler(deadLetterChannel("mock:error").delayPattern("0:250;2:500").maximumRedeliveries(3).handled(false)
+                errorHandler(deadLetterChannel("mock:error").delayPattern("0:250;2:500").maximumRedeliveries(3)
                     .onRedelivery(new Processor() {
                         public void process(Exchange exchange) throws Exception {
                             counter++;
                         }
                     }));
+                // we don't want DLC to handle the Exception
+                onException(Exception.class).handled(false);
 
                 from("direct:start").process(throwException(new Exception("Forced exception by unit test")));
             }

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelRedeliveryTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelRedeliveryTest.java?rev=1104401&r1=1104400&r2=1104401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelRedeliveryTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelRedeliveryTest.java Tue May 17 16:50:37 2011
@@ -94,11 +94,12 @@ public class DeadLetterChannelRedelivery
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
-                // we use handled(false) to instruct DLC to not handle the exception and therefore
-                // we can assert the number of redeliver attempts to see if that works correct
+                // we use onException(Exception.class).handled(false) to instruct DLC to not handle the exception 
+                // and therefore we can assert the number of redelivery attempts to see if that works correctly
+                onException(Exception.class).handled(false);
 
                 from("direct:start")
-                    .errorHandler(deadLetterChannel("mock:error").maximumRedeliveries(2).redeliveryDelay(0).handled(false))
+                    .errorHandler(deadLetterChannel("mock:error").maximumRedeliveries(2).redeliveryDelay(0))
                     .process(new Processor() {
                         public void process(Exchange exchange) throws Exception {
                             counter++;
@@ -107,7 +108,7 @@ public class DeadLetterChannelRedelivery
                     });
 
                 from("direct:no")
-                    .errorHandler(deadLetterChannel("mock:no").maximumRedeliveries(0).handled(false))
+                    .errorHandler(deadLetterChannel("mock:no").maximumRedeliveries(0))
                     .process(new Processor() {
                         public void process(Exchange exchange) throws Exception {
                             counter++;
@@ -116,7 +117,7 @@ public class DeadLetterChannelRedelivery
                     });
 
                 from("direct:one")
-                    .errorHandler(deadLetterChannel("mock:one").maximumRedeliveries(1).redeliveryDelay(0).handled(false))
+                    .errorHandler(deadLetterChannel("mock:one").maximumRedeliveries(1).redeliveryDelay(0))
                     .process(new Processor() {
                         public void process(Exchange exchange) throws Exception {
                             counter++;

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/IdempotentConsumerAsyncTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/IdempotentConsumerAsyncTest.java?rev=1104401&r1=1104400&r2=1104401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/IdempotentConsumerAsyncTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/IdempotentConsumerAsyncTest.java Tue May 17 16:50:37 2011
@@ -64,7 +64,7 @@ public class IdempotentConsumerAsyncTest
         context.addRoutes(new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                errorHandler(deadLetterChannel("mock:error").maximumRedeliveries(2).redeliveryDelay(0).logStackTrace(false).handled(false));
+                errorHandler(deadLetterChannel("mock:error").maximumRedeliveries(2).redeliveryDelay(0).logStackTrace(false));
 
                 from("direct:start").idempotentConsumer(
                         header("messageId"), MemoryIdempotentRepository.memoryIdempotentRepository(200)

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/IdempotentConsumerConcurrentTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/IdempotentConsumerConcurrentTest.java?rev=1104401&r1=1104400&r2=1104401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/IdempotentConsumerConcurrentTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/IdempotentConsumerConcurrentTest.java Tue May 17 16:50:37 2011
@@ -65,8 +65,7 @@ public class IdempotentConsumerConcurren
         context.addRoutes(new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                errorHandler(deadLetterChannel("mock:error").maximumRedeliveries(2).redeliveryDelay(0)
-                        .logStackTrace(false).handled(false));
+                errorHandler(deadLetterChannel("mock:error").maximumRedeliveries(2).redeliveryDelay(0).logStackTrace(false));
 
                 from("direct:start").idempotentConsumer(header("messageId"),
                         MemoryIdempotentRepository.memoryIdempotentRepository(200))

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/IdempotentConsumerEagerTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/IdempotentConsumerEagerTest.java?rev=1104401&r1=1104400&r2=1104401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/IdempotentConsumerEagerTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/IdempotentConsumerEagerTest.java Tue May 17 16:50:37 2011
@@ -65,7 +65,7 @@ public class IdempotentConsumerEagerTest
         context.addRoutes(new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                errorHandler(deadLetterChannel("mock:error").maximumRedeliveries(2).redeliveryDelay(0).logStackTrace(false).handled(false));
+                errorHandler(deadLetterChannel("mock:error").maximumRedeliveries(2).redeliveryDelay(0).logStackTrace(false));
 
                 from("direct:start").idempotentConsumer(
                         header("messageId"), MemoryIdempotentRepository.memoryIdempotentRepository(200)

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/IdempotentConsumerTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/IdempotentConsumerTest.java?rev=1104401&r1=1104400&r2=1104401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/IdempotentConsumerTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/IdempotentConsumerTest.java Tue May 17 16:50:37 2011
@@ -167,10 +167,10 @@ public class IdempotentConsumerTest exte
         context.addRoutes(new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                errorHandler(deadLetterChannel("mock:error").handled(false).maximumRedeliveries(2).redeliveryDelay(0).logStackTrace(false));
+                errorHandler(deadLetterChannel("mock:error").maximumRedeliveries(2).redeliveryDelay(0).logStackTrace(false));
 
                 from("direct:start").idempotentConsumer(
-                        header("messageId"), MemoryIdempotentRepository.memoryIdempotentRepository(200)
+                    header("messageId"), MemoryIdempotentRepository.memoryIdempotentRepository(200)
                 ).process(new Processor() {
                     public void process(Exchange exchange) throws Exception {
                         String id = exchange.getIn().getHeader("messageId", String.class);

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/MultiErrorHandlerInRouteNotHandledTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/MultiErrorHandlerInRouteNotHandledTest.java?rev=1104401&r1=1104400&r2=1104401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/MultiErrorHandlerInRouteNotHandledTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/MultiErrorHandlerInRouteNotHandledTest.java Tue May 17 16:50:37 2011
@@ -85,13 +85,16 @@ public class MultiErrorHandlerInRouteNot
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
+                // we don't want the DLC to handle the Exception
+                onException(IllegalArgumentException.class).handled(false);
+
                 from("direct:start")
-                    .errorHandler(deadLetterChannel("mock:outer").maximumRedeliveries(1).handled(false).redeliveryDelay(0))
+                    .errorHandler(deadLetterChannel("mock:outer").maximumRedeliveries(1).redeliveryDelay(0))
                     .process(outer)
                     .to("direct:outer");
 
                 from("direct:outer")
-                    .errorHandler(deadLetterChannel("mock:inner").maximumRedeliveries(2).handled(false).redeliveryDelay(0))
+                    .errorHandler(deadLetterChannel("mock:inner").maximumRedeliveries(2).redeliveryDelay(0))
                     .process(inner)
                     .to("mock:end");
             }

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RollbackTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RollbackTest.java?rev=1104401&r1=1104400&r2=1104401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RollbackTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RollbackTest.java Tue May 17 16:50:37 2011
@@ -80,7 +80,8 @@ public class RollbackTest extends Contex
         return new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                errorHandler(deadLetterChannel("mock:dead").maximumRedeliveries(4).redeliveryDelay(0).handled(false));
+                errorHandler(deadLetterChannel("mock:dead").maximumRedeliveries(4).redeliveryDelay(0));
+                onException(RollbackExchangeException.class).handled(false);
 
                 from("direct:start")
                     .choice()

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitterTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitterTest.java?rev=1104401&r1=1104400&r2=1104401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitterTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/SplitterTest.java Tue May 17 16:50:37 2011
@@ -222,16 +222,13 @@ public class SplitterTest extends Contex
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
             public void configure() {
-                errorHandler(deadLetterChannel("mock:failed").maximumRedeliveries(0).handled(false));
+                errorHandler(deadLetterChannel("mock:failed").maximumRedeliveries(0));
+                onException(CamelException.class).handled(false);
 
                 from("direct:seqential").split(body().tokenize(","), new UseLatestAggregationStrategy()).to("mock:result");
-
                 from("direct:parallel").split(body().tokenize(","), new MyAggregationStrategy()).parallelProcessing().to("mock:result");
-
                 from("direct:streaming").split(body().tokenize(",")).streaming().to("mock:result");
-
                 from("direct:parallel-streaming").split(body().tokenize(","), new MyAggregationStrategy()).parallelProcessing().streaming().to("mock:result");
-
                 from("direct:exception")
                         .split(body().tokenize(","))
                         .aggregationStrategy(new MyAggregationStrategy())
@@ -245,7 +242,6 @@ public class SplitterTest extends Contex
 
                             }
                         }).to("mock:result");
-
                 from("direct:simple").split(body()).to("mock:result");
             }
         };

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/async/AsyncDeadLetterChannelExecutorServiceRefTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/async/AsyncDeadLetterChannelExecutorServiceRefTest.java?rev=1104401&r1=1104400&r2=1104401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/async/AsyncDeadLetterChannelExecutorServiceRefTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/async/AsyncDeadLetterChannelExecutorServiceRefTest.java Tue May 17 16:50:37 2011
@@ -46,7 +46,12 @@ public class AsyncDeadLetterChannelExecu
                 context.getExecutorServiceStrategy().registerThreadPoolProfile(profile);
 
                 errorHandler(deadLetterChannel("mock:dead")
-                        .maximumRedeliveries(2).redeliveryDelay(0).logStackTrace(false).handled(false).executorServiceRef("myAsyncPool"));
+                    .maximumRedeliveries(2)
+                    .redeliveryDelay(0)
+                    .logStackTrace(false)
+                    .executorServiceRef("myAsyncPool"));
+                // we don't want the DLC to handle the exception
+                onException(Exception.class).handled(false);
 
                 from("direct:in")
                     .threads(2)

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/async/AsyncDeadLetterChannelTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/async/AsyncDeadLetterChannelTest.java?rev=1104401&r1=1104400&r2=1104401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/async/AsyncDeadLetterChannelTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/async/AsyncDeadLetterChannelTest.java Tue May 17 16:50:37 2011
@@ -40,7 +40,9 @@ public class AsyncDeadLetterChannelTest 
         context.addRoutes(new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                errorHandler(deadLetterChannel("mock:dead").maximumRedeliveries(2).redeliveryDelay(0).logStackTrace(false).handled(false));
+                errorHandler(deadLetterChannel("mock:dead").maximumRedeliveries(2).redeliveryDelay(0).logStackTrace(false));
+                // we don't want the DLC to handle the exception
+                onException(Exception.class).handled(false);
 
                 from("direct:in")
                     .threads(2)

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionUseOriginalBodyTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionUseOriginalBodyTest.java?rev=1104401&r1=1104400&r2=1104401&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionUseOriginalBodyTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionUseOriginalBodyTest.java Tue May 17 16:50:37 2011
@@ -60,9 +60,10 @@ public class OnExceptionUseOriginalBodyT
             @Override
             public void configure() throws Exception {
                 // will not use original exchange
-                errorHandler(deadLetterChannel("mock:dead").disableRedelivery().logStackTrace(false).redeliveryDelay(0).handled(false));
+                errorHandler(deadLetterChannel("mock:dead").disableRedelivery().logStackTrace(false).redeliveryDelay(0));
 
                 // will use original exchange
+                onException(CamelExchangeException.class).handled(false);
                 onException(IllegalArgumentException.class)
                     .maximumRedeliveries(2).useOriginalMessage().handled(true)
                     .to("mock:a");

Modified: camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpDoNotDeleteFileIfProcessFailsTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpDoNotDeleteFileIfProcessFailsTest.java?rev=1104401&r1=1104400&r2=1104401&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpDoNotDeleteFileIfProcessFailsTest.java (original)
+++ camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpDoNotDeleteFileIfProcessFailsTest.java Tue May 17 16:50:37 2011
@@ -82,7 +82,8 @@ public class FromFtpDoNotDeleteFileIfPro
         return new RouteBuilder() {
             public void configure() throws Exception {
                 // use no delay for fast unit testing
-                errorHandler(deadLetterChannel("mock:error").maximumRedeliveries(2).redeliveryDelay(0).handled(false));
+                errorHandler(deadLetterChannel("mock:error").maximumRedeliveries(2).redeliveryDelay(0));
+                onException(IllegalArgumentException.class).handled(false);     // DLC should not handle
 
                 from(getFtpUrl()).process(new Processor() {
                     public void process(Exchange exchange) throws Exception {

Modified: camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpThirdPoolOkTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpThirdPoolOkTest.java?rev=1104401&r1=1104400&r2=1104401&view=diff
==============================================================================
--- camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpThirdPoolOkTest.java (original)
+++ camel/trunk/components/camel-ftp/src/test/java/org/apache/camel/component/file/remote/FromFtpThirdPoolOkTest.java Tue May 17 16:50:37 2011
@@ -68,7 +68,8 @@ public class FromFtpThirdPoolOkTest exte
         return new RouteBuilder() {
             public void configure() throws Exception {
                 // no redeliveries as we want the ftp consumer to try again
-                errorHandler(deadLetterChannel("mock:error").maximumRedeliveries(0).logStackTrace(false).handled(false));
+                errorHandler(deadLetterChannel("mock:error").maximumRedeliveries(0).logStackTrace(false));
+                onException(IllegalArgumentException.class).handled(false);     // DLC should not handle
 
                 from(getFtpUrl()).process(new Processor() {
                     public void process(Exchange exchange) throws Exception {

Modified: camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsUseOriginalBodyTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsUseOriginalBodyTest.java?rev=1104401&r1=1104400&r2=1104401&view=diff
==============================================================================
--- camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsUseOriginalBodyTest.java (original)
+++ camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsUseOriginalBodyTest.java Tue May 17 16:50:37 2011
@@ -59,21 +59,23 @@ public class JmsUseOriginalBodyTest exte
         return new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                // will use original
-                ErrorHandlerBuilder a = deadLetterChannel("mock:a")
-                    .maximumRedeliveries(2).redeliveryDelay(0).logStackTrace(false).useOriginalMessage().handled(true);
-
-                // will NOT use original
-                ErrorHandlerBuilder b = deadLetterChannel("mock:b")
-                    .maximumRedeliveries(2).redeliveryDelay(0).logStackTrace(false).handled(true);
-
                 from("activemq:queue:a")
-                    .errorHandler(a)
+                    .onException(IllegalArgumentException.class)
+                        .handled(true)
+                        .useOriginalMessage()
+                        .maximumRedeliveries(2)
+                        .to("mock:a")
+                        .end()
                     .setBody(body().append(" World"))
                     .process(new MyThrowProcessor());
 
                 from("activemq:queue:b")
-                    .errorHandler(b)
+                    .onException(IllegalArgumentException.class)
+                        .handled(true)
+                        .maximumRedeliveries(2)
+                        // this route does not .useOriginalMessage()
+                        .to("mock:b")
+                        .end()
                     .setBody(body().append(" World"))
                     .process(new MyThrowProcessor());
             }

Modified: camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailDoNotDeleteIfProcessFailsTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailDoNotDeleteIfProcessFailsTest.java?rev=1104401&r1=1104400&r2=1104401&view=diff
==============================================================================
--- camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailDoNotDeleteIfProcessFailsTest.java (original)
+++ camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailDoNotDeleteIfProcessFailsTest.java Tue May 17 16:50:37 2011
@@ -81,7 +81,8 @@ public class MailDoNotDeleteIfProcessFai
         return new RouteBuilder() {
             public void configure() throws Exception {
                 // no redelivery for unit test as we want it to be polled next time
-                errorHandler(deadLetterChannel("mock:error").maximumRedeliveries(0).logStackTrace(false).handled(false));
+                errorHandler(deadLetterChannel("mock:error").maximumRedeliveries(0).logStackTrace(false));
+                onException(IllegalArgumentException.class).handled(false); // DLC should not handle
 
                 from("imap://localhost?username=claus&password=secret&unseen=true&delay=250")
                         .process(new Processor() {

Modified: camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandler.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandler.java?rev=1104401&r1=1104400&r2=1104401&view=diff
==============================================================================
--- camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandler.java (original)
+++ camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandler.java Tue May 17 16:50:37 2011
@@ -50,16 +50,16 @@ public class TransactionErrorHandler ext
      * @param logger                  logger to use for logging failures and redelivery attempts
      * @param redeliveryProcessor     an optional processor to run before redelivery attempt
      * @param redeliveryPolicy        policy for redelivery
-     * @param handledPolicy           policy for handling failed exception that are moved to the dead letter queue
      * @param exceptionPolicyStrategy strategy for onException handling
      * @param transactionTemplate     the transaction template
      * @param retryWhile              retry while
      * @param executorServiceRef      reference to a {@link java.util.concurrent.ScheduledExecutorService} to be used for redelivery thread pool. Can be <tt>null</tt>.
      */
-    public TransactionErrorHandler(CamelContext camelContext, Processor output, CamelLogger logger, Processor redeliveryProcessor,
-                                   RedeliveryPolicy redeliveryPolicy, Predicate handledPolicy, ExceptionPolicyStrategy exceptionPolicyStrategy,
-                                   TransactionTemplate transactionTemplate, Predicate retryWhile, String executorServiceRef) {
-        super(camelContext, output, logger, redeliveryProcessor, redeliveryPolicy, handledPolicy, null, null, false, retryWhile, executorServiceRef);
+    public TransactionErrorHandler(CamelContext camelContext, Processor output, CamelLogger logger, 
+            Processor redeliveryProcessor, RedeliveryPolicy redeliveryPolicy, ExceptionPolicyStrategy exceptionPolicyStrategy,
+            TransactionTemplate transactionTemplate, Predicate retryWhile, String executorServiceRef) {
+
+        super(camelContext, output, logger, redeliveryProcessor, redeliveryPolicy, null, null, false, retryWhile, executorServiceRef);
         setExceptionPolicy(exceptionPolicyStrategy);
         this.transactionTemplate = transactionTemplate;
         this.transactionKey = ObjectHelper.getIdentityHashCode(transactionTemplate);

Modified: camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandlerBuilder.java
URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandlerBuilder.java?rev=1104401&r1=1104400&r2=1104401&view=diff
==============================================================================
--- camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandlerBuilder.java (original)
+++ camel/trunk/components/camel-spring/src/main/java/org/apache/camel/spring/spi/TransactionErrorHandlerBuilder.java Tue May 17 16:50:37 2011
@@ -110,10 +110,9 @@ public class TransactionErrorHandlerBuil
 
         ObjectHelper.notNull(transactionTemplate, "transactionTemplate", this);
 
-        @SuppressWarnings("deprecation")
         TransactionErrorHandler answer = new TransactionErrorHandler(routeContext.getCamelContext(), processor,
-                getLogger(), getOnRedelivery(), getRedeliveryPolicy(), getHandledPolicy(),
-                getExceptionPolicyStrategy(), transactionTemplate, getRetryWhilePolicy(routeContext.getCamelContext()), getExecutorServiceRef());
+            getLogger(), getOnRedelivery(), getRedeliveryPolicy(), getExceptionPolicyStrategy(), transactionTemplate, 
+            getRetryWhilePolicy(routeContext.getCamelContext()), getExecutorServiceRef());
         // configure error handler before we can use it
         configure(answer);
         return answer;