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 2009/06/14 08:52:20 UTC

svn commit: r784513 [1/2] - in /camel/trunk: camel-core/src/main/java/org/apache/camel/builder/ camel-core/src/main/java/org/apache/camel/model/ camel-core/src/main/java/org/apache/camel/processor/ camel-core/src/main/java/org/apache/camel/processor/id...

Author: davsclaus
Date: Sun Jun 14 06:52:18 2009
New Revision: 784513

URL: http://svn.apache.org/viewvc?rev=784513&view=rev
Log:
CAMEL-1692, CAMEL-1702: DeadLetterChannel now handles by default to act as a DLC in the EIP book. The message is moved to a dead letter queue and client should not know about this error. Renamed delay to redeliverDelay to avoid clash with delay EIP.

Added:
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/MultiErrorHandlerInRouteNotHandledTest.java
      - copied, changed from r784110, camel/trunk/camel-core/src/test/java/org/apache/camel/processor/MultiErrorHandlerInRouteTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RollbackDefaultErrorHandlerTest.java
      - copied, changed from r784110, camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RollbackTest.java
Removed:
    camel/trunk/camel-core/src/main/java/org/apache/camel/processor/DelayPolicy.java
Modified:
    camel/trunk/camel-core/src/main/java/org/apache/camel/builder/DeadLetterChannelBuilder.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/model/OnExceptionDefinition.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/model/RedeliveryPolicyDefinition.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/processor/RedeliveryPolicy.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/processor/RollbackProcessor.java
    camel/trunk/camel-core/src/main/java/org/apache/camel/processor/idempotent/IdempotentOnCompletion.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/builder/BuilderWithScopesTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/builder/ExceptionBuilderTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/builder/ExceptionBuilderWithHandledExceptionTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/BeanExchangeAsReturnTypeNotAllowedTest.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/FromFileDoNotDeleteFileIfProcessFailsTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FromFileDoNotMoveFileIfProcessFailsTest.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/CacheInputStreamInDeadLetterIssue520Test.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/issues/ExceptionTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/issues/RomeksExceptionTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/management/ExceptionWithManagementTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ChannelTest.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/DeadLetterChannelExceptionCausePropagatedTest.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/DeadLetterChannelOnExceptionOnRedeliveryTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelOnRedeliveryTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelRedeliverWithDelayBlockingTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelRedeliveringWhileShutdownTest.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/DeadLetterChannelTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelUseOriginalInBodyTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ErrorHandlerTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ErrorHandlerWrappedEachNodeTest.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/MultiErrorHandlerInRouteTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/MulticastStreamCachingTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RedeliveryPolicyPerExceptionTest.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/TraceableUnitOfWorkTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ValidatingProcessorTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ValidationFinallyBlockNoCatchTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ValidationWithHandlePipelineAndExceptionTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ValidationWithInFlowExceptionTest.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/exceptionpolicy/DefaultExceptionPolicyStrategyUsingOnlyWhenTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/exceptionpolicy/DefaultExceptionPolicyStrategyUsingWhenTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionComplexRouteTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionComplexWithNestedErrorHandlerRouteTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionRetryUntilTest.java
    camel/trunk/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionUseOriginalBodyTest.java
    camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/WsdlFirstBeans.xml
    camel/trunk/components/camel-cxf/src/test/resources/org/apache/camel/component/cxf/WsdlFirstBeansPayloadMode.xml
    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-groovy/src/test/resources/log4j.properties
    camel/trunk/components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyWithXPathChoiceTest.java
    camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsDeadLetterQueueTest.java
    camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsDeadLetterQueueUsingTransferExchangeTest.java
    camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsTransferExceptionTest.java
    camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsUseOriginalBodyTest.java
    camel/trunk/components/camel-jms/src/test/java/org/apache/camel/component/jms/JmsXMLRouteTest.java
    camel/trunk/components/camel-jms/src/test/resources/org/apache/camel/component/jms/issues/JmsRedeliveryWithInitialRedeliveryDelayTest-context.xml
    camel/trunk/components/camel-jpa/src/test/java/org/apache/camel/processor/jpa/JpaIdempotentConsumerTest.java
    camel/trunk/components/camel-mail/src/test/java/org/apache/camel/component/mail/MailDoNotDeleteIfProcessFailsTest.java
    camel/trunk/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTcpLineDelimiterUsingPlainSocketTest.java
    camel/trunk/components/camel-mina/src/test/java/org/apache/camel/component/mina/MinaTcpWithIoOutProcessorExceptionTest.java
    camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/config/DeadLetterChannelRedeliveryConfigTest.java
    camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/config/DeadLetterChannelRedeliveryConfigTest-context.xml
    camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/config/errorHandler.xml
    camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/SpringDeadLetterChannelHandledPolicyTest.xml
    camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/SpringDeadLetterChannelNotHandledPolicyTest.xml
    camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/SpringDeadLetterChannelUseOriginalBodyTest.xml
    camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/SpringDeadLetterChannelUseOriginalExchangeWithFileTest.xml
    camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/convertBody.xml
    camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/onexception/DeadLetterChannelOnExceptionOnRedeliveryTest.xml
    camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/onexception/SpringOnExceptionUseOriginalBodyTest.xml
    camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/rollback.xml

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=784513&r1=784512&r2=784513&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 Sun Jun 14 06:52:18 2009
@@ -42,6 +42,7 @@
  * @version $Revision$
  */
 public class DeadLetterChannelBuilder extends ErrorHandlerBuilderSupport {
+    private static final boolean HANDLED = true;
     private Logger logger = new Logger(LogFactory.getLog(DeadLetterChannel.class), LoggingLevel.ERROR);
     private ExceptionPolicyStrategy exceptionPolicyStrategy = ErrorHandlerSupport.createDefaultExceptionPolicyStrategy();
     private RedeliveryPolicy redeliveryPolicy = new RedeliveryPolicy();
@@ -102,8 +103,8 @@
         return this;
     }
 
-    public DeadLetterChannelBuilder delay(long delay) {
-        getRedeliveryPolicy().delay(delay);
+    public DeadLetterChannelBuilder redeliverDelay(long delay) {
+        getRedeliveryPolicy().redeliverDelay(delay);
         return this;
     }
 
@@ -365,6 +366,9 @@
     }
 
     public Predicate getHandledPolicy() {
+        if (handledPolicy == null) {
+            createHandledPolicy();
+        }
         return handledPolicy;
     }
 
@@ -387,6 +391,10 @@
         this.useOriginalBody = useOriginalBody;
     }
 
+    protected void createHandledPolicy() {
+        handledPolicy = PredicateBuilder.toPredicate(ExpressionBuilder.constantExpression(HANDLED));
+    }
+
     @Override
     public String toString() {
         return "DeadLetterChannelBuilder(" + deadLetterUri + ")";

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/OnExceptionDefinition.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/OnExceptionDefinition.java?rev=784513&r1=784512&r2=784513&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/model/OnExceptionDefinition.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/OnExceptionDefinition.java Sun Jun 14 06:52:18 2009
@@ -248,6 +248,17 @@
     }
 
     /**
+     * Sets the delay
+     *
+     * @param delay  the redeliver delay
+     * @return the builder
+     */
+    public OnExceptionDefinition redeliverDelay(long delay) {
+        getOrCreateRedeliveryPolicy().redeliveryDelay(delay);
+        return this;
+    }
+
+    /**
      * Sets the back off multiplier
      *
      * @param backOffMultiplier  the back off multiplier

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/model/RedeliveryPolicyDefinition.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/model/RedeliveryPolicyDefinition.java?rev=784513&r1=784512&r2=784513&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/model/RedeliveryPolicyDefinition.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/model/RedeliveryPolicyDefinition.java Sun Jun 14 06:52:18 2009
@@ -72,7 +72,7 @@
             answer.setMaximumRedeliveries(maximumRedeliveries);
         }
         if (redeliveryDelay != null) {
-            answer.setDelay(redeliveryDelay);
+            answer.setRedeliverDelay(redeliveryDelay);
         }
         if (retriesExhaustedLogLevel != null) {
             answer.setRetriesExhaustedLogLevel(retriesExhaustedLogLevel);

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/processor/RedeliveryPolicy.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/RedeliveryPolicy.java?rev=784513&r1=784512&r2=784513&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/processor/RedeliveryPolicy.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/processor/RedeliveryPolicy.java Sun Jun 14 06:52:18 2009
@@ -16,6 +16,7 @@
  */
 package org.apache.camel.processor;
 
+import java.io.Serializable;
 import java.util.Random;
 
 import org.apache.camel.Exchange;
@@ -36,7 +37,7 @@
  * The default values are:
  * <ul>
  *   <li>maximumRedeliveries = 5</li>
- *   <li>delay = 1000L (the initial delay)</li>
+ *   <li>redeliverDelay = 1000L (the initial delay)</li>
  *   <li>maximumRedeliveryDelay = 60 * 1000L</li>
  *   <li>backOffMultiplier = 2</li>
  *   <li>useExponentialBackOff = false</li>
@@ -69,10 +70,11 @@
  *
  * @version $Revision$
  */
-public class RedeliveryPolicy extends DelayPolicy {
+public class RedeliveryPolicy implements Cloneable, Serializable {
     protected static transient Random randomNumberGenerator;
     private static final transient Log LOG = LogFactory.getLog(RedeliveryPolicy.class);
 
+    protected long redeliverDelay = 1000L;
     protected int maximumRedeliveries = 5;
     protected long maximumRedeliveryDelay = 60 * 1000L;
     protected double backOffMultiplier = 2;
@@ -91,7 +93,7 @@
     @Override
     public String toString() {
         return "RedeliveryPolicy[maximumRedeliveries=" + maximumRedeliveries
-            + ", delay=" + delay
+            + ", redeliverDelay=" + redeliverDelay
             + ", maximumRedeliveryDelay=" + maximumRedeliveryDelay
             + ", retriesExhaustedLogLevel=" + retriesExhaustedLogLevel
             + ", retryAttemptedLogLevel=" + retryAttemptedLogLevel
@@ -164,7 +166,7 @@
         // calculate the delay using the conventional parameters
         long redeliveryDelay;
         if (previousDelay == 0) {
-            redeliveryDelay = delay;
+            redeliveryDelay = redeliverDelay;
         } else if (useExponentialBackOff && backOffMultiplier > 1) {
             redeliveryDelay = Math.round(backOffMultiplier * previousDelay);
         } else {
@@ -215,6 +217,14 @@
     // -------------------------------------------------------------------------
 
     /**
+     * Sets the delay in milliseconds
+     */
+    public RedeliveryPolicy redeliverDelay(long delay) {
+        setRedeliverDelay(delay);
+        return this;
+    }
+
+    /**
      * Sets the maximum number of times a message exchange will be redelivered
      */
     public RedeliveryPolicy maximumRedeliveries(int maximumRedeliveries) {
@@ -310,6 +320,18 @@
 
     // Properties
     // -------------------------------------------------------------------------
+
+    public long getRedeliverDelay() {
+        return redeliverDelay;
+    }
+
+    /**
+     * Sets the delay in milliseconds
+     */
+    public void setRedeliverDelay(long redeliverDelay) {
+        this.redeliverDelay = redeliverDelay;
+    }
+
     public double getBackOffMultiplier() {
         return backOffMultiplier;
     }

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/processor/RollbackProcessor.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/RollbackProcessor.java?rev=784513&r1=784512&r2=784513&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/processor/RollbackProcessor.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/processor/RollbackProcessor.java Sun Jun 14 06:52:18 2009
@@ -42,4 +42,12 @@
         exchange.setException(new RollbackExchangeException(message, exchange));
     }
 
+    @Override
+    public String toString() {
+        if (message != null) {
+            return "Rollback[" + message + "]";
+        } else {
+            return "Rollback";
+        }
+    }
 }

Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/processor/idempotent/IdempotentOnCompletion.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/processor/idempotent/IdempotentOnCompletion.java?rev=784513&r1=784512&r2=784513&view=diff
==============================================================================
--- camel/trunk/camel-core/src/main/java/org/apache/camel/processor/idempotent/IdempotentOnCompletion.java (original)
+++ camel/trunk/camel-core/src/main/java/org/apache/camel/processor/idempotent/IdempotentOnCompletion.java Sun Jun 14 06:52:18 2009
@@ -17,6 +17,7 @@
 package org.apache.camel.processor.idempotent;
 
 import org.apache.camel.Exchange;
+import org.apache.camel.util.ExchangeHelper;
 import org.apache.camel.spi.IdempotentRepository;
 import org.apache.camel.spi.Synchronization;
 import org.apache.commons.logging.Log;
@@ -43,7 +44,13 @@
     }
 
     public void onComplete(Exchange exchange) {
-        onCompletedMessage(exchange, messageId);
+        if (ExchangeHelper.isFailureHandled(exchange)) {
+            // the exchange did not process succesfully but was failure handled by the dead letter channel
+            // and thus moved to the dead letter queue. We should thus not consider it as complete.
+            onFailedMessage(exchange, messageId);
+        } else {
+            onCompletedMessage(exchange, messageId);
+        }
     }
 
     public void onFailure(Exchange exchange) {

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/builder/BuilderWithScopesTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/builder/BuilderWithScopesTest.java?rev=784513&r1=784512&r2=784513&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/builder/BuilderWithScopesTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/builder/BuilderWithScopesTest.java Sun Jun 14 06:52:18 2009
@@ -17,7 +17,6 @@
 package org.apache.camel.builder;
 
 import java.util.ArrayList;
-import java.util.Collections;
 
 import org.apache.camel.CamelContext;
 import org.apache.camel.Endpoint;
@@ -113,7 +112,7 @@
 
         runTest(new RouteBuilder() {
             public void configure() {
-                errorHandler(deadLetterChannel("mock:error").delay(0).maximumRedeliveries(3));
+                errorHandler(deadLetterChannel("mock:error").redeliverDelay(0).maximumRedeliveries(3));
 
                 from("direct:a").filter(header("foo").isEqualTo("bar")).process(orderProcessor).end()
                     .process(toProcessor);
@@ -126,7 +125,7 @@
 
         runTest(new RouteBuilder() {
             public void configure() {
-                errorHandler(deadLetterChannel("mock:error").delay(0).maximumRedeliveries(3));
+                errorHandler(deadLetterChannel("mock:error").redeliverDelay(0).maximumRedeliveries(3));
 
                 from("direct:a").filter(header("foo").isEqualTo("bar")).process(orderProcessor)
                     .process(toProcessor);
@@ -137,7 +136,7 @@
     protected RouteBuilder createChoiceBuilder() {
         return new RouteBuilder() {
             public void configure() {
-                errorHandler(deadLetterChannel("mock:error").delay(0).maximumRedeliveries(3));
+                errorHandler(deadLetterChannel("mock:error").redeliverDelay(0).maximumRedeliveries(3));
 
                 from("direct:a").choice().when(header("foo").isEqualTo("bar")).process(orderProcessor)
                     .when(header("foo").isEqualTo("cheese")).process(orderProcessor2).end()
@@ -175,7 +174,7 @@
 
         runTest(new RouteBuilder() {
             public void configure() {
-                errorHandler(deadLetterChannel("mock:error").delay(0).maximumRedeliveries(3));
+                errorHandler(deadLetterChannel("mock:error").redeliverDelay(0).maximumRedeliveries(3));
 
                 from("direct:a").choice().when(header("foo").isEqualTo("bar")).process(orderProcessor)
                     .when(header("foo").isEqualTo("cheese")).process(orderProcessor2).process(toProcessor); // continuation of the second when clause
@@ -186,7 +185,7 @@
     protected RouteBuilder createChoiceWithOtherwiseBuilder() {
         return new RouteBuilder() {
             public void configure() {
-                errorHandler(deadLetterChannel("mock:error").delay(0).maximumRedeliveries(3));
+                errorHandler(deadLetterChannel("mock:error").redeliverDelay(0).maximumRedeliveries(3));
 
                 from("direct:a").choice().when(header("foo").isEqualTo("bar")).process(orderProcessor)
                     .when(header("foo").isEqualTo("cheese")).process(orderProcessor2).otherwise()
@@ -224,7 +223,7 @@
 
         runTest(new RouteBuilder() {
             public void configure() {
-                errorHandler(deadLetterChannel("mock:error").delay(0).maximumRedeliveries(3));
+                errorHandler(deadLetterChannel("mock:error").redeliverDelay(0).maximumRedeliveries(3));
 
                 from("direct:a").choice().when(header("foo").isEqualTo("bar")).process(orderProcessor)
                     .when(header("foo").isEqualTo("cheese")).process(orderProcessor2).otherwise()

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/builder/ExceptionBuilderTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/builder/ExceptionBuilderTest.java?rev=784513&r1=784512&r2=784513&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/builder/ExceptionBuilderTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/builder/ExceptionBuilderTest.java Sun Jun 14 06:52:18 2009
@@ -159,7 +159,7 @@
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
-                errorHandler(deadLetterChannel("mock:error").delay(0).maximumRedeliveries(3));
+                errorHandler(deadLetterChannel("mock:error").redeliverDelay(0).maximumRedeliveries(3));
 
                 // START SNIPPET: exceptionBuilder1
                 onException(NullPointerException.class)

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/builder/ExceptionBuilderWithHandledExceptionTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/builder/ExceptionBuilderWithHandledExceptionTest.java?rev=784513&r1=784512&r2=784513&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/builder/ExceptionBuilderWithHandledExceptionTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/builder/ExceptionBuilderWithHandledExceptionTest.java Sun Jun 14 06:52:18 2009
@@ -77,7 +77,7 @@
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
-                errorHandler(deadLetterChannel("mock:error").delay(0).maximumRedeliveries(3));
+                errorHandler(deadLetterChannel("mock:error").redeliverDelay(0).maximumRedeliveries(3));
 
                 // START SNIPPET: exceptionBuilder1
                 onException(NullPointerException.class)

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/BeanExchangeAsReturnTypeNotAllowedTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/BeanExchangeAsReturnTypeNotAllowedTest.java?rev=784513&r1=784512&r2=784513&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/BeanExchangeAsReturnTypeNotAllowedTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/bean/BeanExchangeAsReturnTypeNotAllowedTest.java Sun Jun 14 06:52:18 2009
@@ -31,9 +31,6 @@
 public class BeanExchangeAsReturnTypeNotAllowedTest extends ContextTestSupport {
 
     public void testExchangeAsReturnTypeNotAllowed() throws Exception {
-        MockEndpoint dead = getMockEndpoint("mock:dead");
-        dead.expectedMessageCount(1);
-
         MockEndpoint result = getMockEndpoint("mock:result");
         result.expectedMessageCount(0);
 
@@ -45,7 +42,6 @@
             // expected
         }
 
-        dead.assertIsSatisfied();
         result.assertIsSatisfied();
     }
 
@@ -58,9 +54,6 @@
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
-                // no redelivery for faster unit test
-                errorHandler(deadLetterChannel("mock:dead").disableRedelivery());
-
                 from("direct:in")
                     .to("bean:myBean")
                     .to("mock:result");

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=784513&r1=784512&r2=784513&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 Sun Jun 14 06:52:18 2009
@@ -112,7 +112,7 @@
             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).delay(0).logStackTrace(false));
+                errorHandler(deadLetterChannel("mock:error").maximumRedeliveries(2).redeliverDelay(0).logStackTrace(false).handled(false));
 
                 // special for not handled when we got beer
                 onException(ValidationException.class).onWhen(exceptionMessage().contains("beer"))

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FromFileDoNotDeleteFileIfProcessFailsTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FromFileDoNotDeleteFileIfProcessFailsTest.java?rev=784513&r1=784512&r2=784513&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FromFileDoNotDeleteFileIfProcessFailsTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FromFileDoNotDeleteFileIfProcessFailsTest.java Sun Jun 14 06:52:18 2009
@@ -57,7 +57,7 @@
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
-                errorHandler(deadLetterChannel("mock:error").maximumRedeliveries(2).delay(100).logStackTrace(false));
+                errorHandler(deadLetterChannel("mock:error").maximumRedeliveries(2).redeliverDelay(0).logStackTrace(false).handled(false));
 
                 from("file://target/deletefile?delete=true").process(new Processor() {
                     public void process(Exchange exchange) throws Exception {

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FromFileDoNotMoveFileIfProcessFailsTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FromFileDoNotMoveFileIfProcessFailsTest.java?rev=784513&r1=784512&r2=784513&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FromFileDoNotMoveFileIfProcessFailsTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/component/file/FromFileDoNotMoveFileIfProcessFailsTest.java Sun Jun 14 06:52:18 2009
@@ -57,7 +57,7 @@
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
-                errorHandler(deadLetterChannel("mock:error").maximumRedeliveries(2).delay(100).logStackTrace(false));
+                errorHandler(deadLetterChannel("mock:error").maximumRedeliveries(2).redeliverDelay(0).logStackTrace(false).handled(false));
 
                 from("file://target/movefile?move=done").process(new Processor() {
                     public void process(Exchange exchange) throws Exception {

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=784513&r1=784512&r2=784513&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 Sun Jun 14 06:52:18 2009
@@ -61,7 +61,7 @@
         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));
+                errorHandler(deadLetterChannel("mock:error").maximumRedeliveries(0).logStackTrace(false).handled(false));
 
                 from("file://target/deletefile?delete=true").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=784513&r1=784512&r2=784513&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 Sun Jun 14 06:52:18 2009
@@ -45,7 +45,7 @@
         return new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                errorHandler(deadLetterChannel("mock:dead").maximumRedeliveries(2).delay(0));
+                errorHandler(deadLetterChannel("mock:dead").maximumRedeliveries(2).redeliverDelay(0).handled(false));
 
                 from("direct:start").to("seda:foo");
 

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/issues/CacheInputStreamInDeadLetterIssue520Test.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/issues/CacheInputStreamInDeadLetterIssue520Test.java?rev=784513&r1=784512&r2=784513&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/issues/CacheInputStreamInDeadLetterIssue520Test.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/issues/CacheInputStreamInDeadLetterIssue520Test.java Sun Jun 14 06:52:18 2009
@@ -69,7 +69,7 @@
         return new RouteBuilder() {
             public void configure() throws Exception {
                 // 0 delay for faster unit test
-                errorHandler(deadLetterChannel("direct:errorHandler").maximumRedeliveries(3).delay(0));
+                errorHandler(deadLetterChannel("direct:errorHandler").maximumRedeliveries(3).redeliverDelay(0));
                 from("direct:start").process(new Processor() {
                     public void process(Exchange exchange) throws Exception {
                         count++;

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/issues/ExceptionTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/issues/ExceptionTest.java?rev=784513&r1=784512&r2=784513&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/issues/ExceptionTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/issues/ExceptionTest.java Sun Jun 14 06:52:18 2009
@@ -100,7 +100,7 @@
 
         return new RouteBuilder() {
             public void configure() {
-                errorHandler(deadLetterChannel("mock:error").delay(0).maximumRedeliveries(3));
+                errorHandler(deadLetterChannel("mock:error").redeliverDelay(0).maximumRedeliveries(3));
 
                 if (getName().endsWith("WithLongHandler")) {
                     log.debug("Using long exception handler");

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/issues/RomeksExceptionTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/issues/RomeksExceptionTest.java?rev=784513&r1=784512&r2=784513&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/issues/RomeksExceptionTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/issues/RomeksExceptionTest.java Sun Jun 14 06:52:18 2009
@@ -75,7 +75,7 @@
 
         return new RouteBuilder() {
             public void configure() {
-                errorHandler(deadLetterChannel("mock:error").delay(0));
+                errorHandler(deadLetterChannel("mock:error").redeliverDelay(0));
 
                 onException(IllegalArgumentException.class).to("mock:exception");
 

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/management/ExceptionWithManagementTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/management/ExceptionWithManagementTest.java?rev=784513&r1=784512&r2=784513&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/management/ExceptionWithManagementTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/management/ExceptionWithManagementTest.java Sun Jun 14 06:52:18 2009
@@ -52,7 +52,7 @@
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
-                errorHandler(deadLetterChannel("mock:error").delay(0).maximumRedeliveries(3));
+                errorHandler(deadLetterChannel("mock:error").redeliverDelay(0).maximumRedeliveries(3));
 
                 onException(IllegalArgumentException.class).maximumRedeliveries(1).to("mock:error");
 

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ChannelTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ChannelTest.java?rev=784513&r1=784512&r2=784513&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ChannelTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ChannelTest.java Sun Jun 14 06:52:18 2009
@@ -52,7 +52,7 @@
         return new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                errorHandler(deadLetterChannel("mock:dead").maximumRedeliveries(2).delay(0).logStackTrace(false));
+                errorHandler(deadLetterChannel("mock:dead").maximumRedeliveries(2).redeliverDelay(0).logStackTrace(false));
 
                 from("direct:start")
                     .process(new Processor() {

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=784513&r1=784512&r2=784513&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 Sun Jun 14 06:52:18 2009
@@ -76,7 +76,7 @@
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
             public void configure() {
-                errorHandler(deadLetterChannel("mock:dead").disableRedelivery());
+                errorHandler(deadLetterChannel("mock:dead").disableRedelivery().handled(false));
 
                 from("direct:start").convertBodyTo(Integer.class).to("mock:result");
 

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelExceptionCausePropagatedTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelExceptionCausePropagatedTest.java?rev=784513&r1=784512&r2=784513&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelExceptionCausePropagatedTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelExceptionCausePropagatedTest.java Sun Jun 14 06:52:18 2009
@@ -45,7 +45,7 @@
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
             public void configure() {
-                errorHandler(deadLetterChannel("mock:error").delay(0).maximumRedeliveries(3));
+                errorHandler(deadLetterChannel("mock:error").redeliverDelay(0).maximumRedeliveries(3));
 
                 onException(RuntimeException.class).handled(true).to("mock:failed");
 

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=784513&r1=784512&r2=784513&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 Sun Jun 14 06:52:18 2009
@@ -33,7 +33,7 @@
         context.addRoutes(new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                errorHandler(deadLetterChannel("mock:dead").maximumRedeliveries(1).delay(0).logStackTrace(false).handled(true));
+                errorHandler(deadLetterChannel("mock:dead").maximumRedeliveries(1).redeliverDelay(0).logStackTrace(false).handled(true));
 
                 from("direct:start")
                     .process(new MyThrowExceptionProcessor());
@@ -53,7 +53,7 @@
         context.addRoutes(new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                errorHandler(deadLetterChannel("mock:dead").maximumRedeliveries(1).delay(0).logStackTrace(false).handled(false));
+                errorHandler(deadLetterChannel("mock:dead").maximumRedeliveries(1).redeliverDelay(0).logStackTrace(false).handled(false));
 
                 from("direct:start")
                     .process(new MyThrowExceptionProcessor());

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelOnExceptionOnRedeliveryTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelOnExceptionOnRedeliveryTest.java?rev=784513&r1=784512&r2=784513&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelOnExceptionOnRedeliveryTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelOnExceptionOnRedeliveryTest.java Sun Jun 14 06:52:18 2009
@@ -75,7 +75,7 @@
                 errorHandler(deadLetterChannel("mock:error")
                         .onRedelivery(new MyRedeliverPrcessor())
                         // setting delay to zero is just to make unit teting faster
-                        .delay(0L));
+                        .redeliverDelay(0L));
                 // END SNIPPET: e2
 
 

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelOnRedeliveryTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelOnRedeliveryTest.java?rev=784513&r1=784512&r2=784513&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelOnRedeliveryTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelOnRedeliveryTest.java Sun Jun 14 06:52:18 2009
@@ -66,7 +66,7 @@
                 errorHandler(deadLetterChannel("mock:error")
                         .onRedelivery(new MyRedeliverPrcessor())
                         // setting delay to zero is just to make unit teting faster
-                        .delay(0L));
+                        .redeliverDelay(0L));
                 // END SNIPPET: e1
 
 

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelRedeliverWithDelayBlockingTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelRedeliverWithDelayBlockingTest.java?rev=784513&r1=784512&r2=784513&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelRedeliverWithDelayBlockingTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelRedeliverWithDelayBlockingTest.java Sun Jun 14 06:52:18 2009
@@ -75,7 +75,7 @@
         return new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                errorHandler(deadLetterChannel("mock:dead").delay(1000).maximumRedeliveries(3).logStackTrace(false));
+                errorHandler(deadLetterChannel("mock:dead").redeliverDelay(1000).maximumRedeliveries(3).logStackTrace(false));
 
                 from("direct:start")
                         .process(new Processor() {

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelRedeliveringWhileShutdownTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelRedeliveringWhileShutdownTest.java?rev=784513&r1=784512&r2=784513&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelRedeliveringWhileShutdownTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelRedeliveringWhileShutdownTest.java Sun Jun 14 06:52:18 2009
@@ -48,7 +48,7 @@
         return new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                errorHandler(deadLetterChannel("mock:error").maximumRedeliveries(2).delay(5000));
+                errorHandler(deadLetterChannel("mock:error").maximumRedeliveries(2).redeliverDelay(5000));
 
                 from("direct:start").delay(500).to("mock:result");
 

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=784513&r1=784512&r2=784513&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 Sun Jun 14 06:52:18 2009
@@ -59,7 +59,7 @@
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
-                errorHandler(deadLetterChannel("mock:error").delayPattern("0:250;2:500").maximumRedeliveries(3)
+                errorHandler(deadLetterChannel("mock:error").delayPattern("0:250;2:500").maximumRedeliveries(3).handled(false)
                     .onRedelivery(new Processor() {
                         public void process(Exchange exchange) throws Exception {
                             counter++;

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelTest.java?rev=784513&r1=784512&r2=784513&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelTest.java Sun Jun 14 06:52:18 2009
@@ -62,9 +62,6 @@
         assertNotNull("Should have been a cause property", t);
         assertTrue(t instanceof RuntimeException);
         assertEquals("Failed to process due to attempt: 3 being less than: 5", t.getMessage());
-
-        Throwable t2 = deadEndpoint.getExchanges().get(0).getException();
-        assertEquals(t, t2);
     }
 
     @Override
@@ -91,7 +88,7 @@
             public void configure() {
                 from("direct:start").errorHandler(
                     deadLetterChannel("mock:failed").maximumRedeliveries(2)
-                        .delay(1000)
+                        .redeliverDelay(50)
                         .loggingLevel(LoggingLevel.DEBUG)
 
                 ).process(processor).to("mock:success");

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelUseOriginalInBodyTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelUseOriginalInBodyTest.java?rev=784513&r1=784512&r2=784513&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelUseOriginalInBodyTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelUseOriginalInBodyTest.java Sun Jun 14 06:52:18 2009
@@ -55,11 +55,11 @@
             public void configure() throws Exception {
                 // will use original
                 DeadLetterChannelBuilder a = deadLetterChannel("mock:a")
-                    .maximumRedeliveries(2).delay(0).logStackTrace(false).useOriginalBody().handled(true);
+                    .maximumRedeliveries(2).redeliverDelay(0).logStackTrace(false).useOriginalBody().handled(true);
 
                 // will NOT use original
                 DeadLetterChannelBuilder b = deadLetterChannel("mock:b")
-                    .maximumRedeliveries(2).delay(0).logStackTrace(false).handled(true);
+                    .maximumRedeliveries(2).redeliverDelay(0).logStackTrace(false).handled(true);
 
                 from("direct:a")
                     .errorHandler(a)

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ErrorHandlerTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ErrorHandlerTest.java?rev=784513&r1=784512&r2=784513&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ErrorHandlerTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ErrorHandlerTest.java Sun Jun 14 06:52:18 2009
@@ -48,12 +48,7 @@
         error.expectedBodiesReceived("Boom");
         result.expectedMessageCount(0);
 
-        try {
-            template.sendBody("direct:start", "Boom");
-            fail("Should have thrown a RuntimeCamelException");
-        } catch (RuntimeCamelException e) {
-            assertIsInstanceOf(IllegalArgumentException.class, e.getCause());
-        }
+        template.sendBody("direct:start", "Boom");
 
         assertMockEndpointsSatisfied();
     }
@@ -63,7 +58,7 @@
         return new RouteBuilder() {
             public void configure() throws Exception {
                 from("direct:start")
-                    .errorHandler(deadLetterChannel("mock:error").maximumRedeliveries(1))
+                    .errorHandler(deadLetterChannel("mock:error").maximumRedeliveries(1).redeliverDelay(0))
                     .process(new Processor() {
                         public void process(Exchange exchange) throws Exception {
                             String body = exchange.getIn().getBody(String.class);

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ErrorHandlerWrappedEachNodeTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ErrorHandlerWrappedEachNodeTest.java?rev=784513&r1=784512&r2=784513&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ErrorHandlerWrappedEachNodeTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ErrorHandlerWrappedEachNodeTest.java Sun Jun 14 06:52:18 2009
@@ -57,7 +57,7 @@
             @Override
             public void configure() throws Exception {
                 // use dead letter channel that supports redeliveries
-                errorHandler(deadLetterChannel("mock:error").maximumRedeliveries(3).delay(0).logStackTrace(false));
+                errorHandler(deadLetterChannel("mock:error").maximumRedeliveries(3).redeliverDelay(0).logStackTrace(false));
 
                 from("direct:start")
                     .pipeline("bean:foo?method=hi", "bean:foo?method=kabom").to("mock:result");

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=784513&r1=784512&r2=784513&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 Sun Jun 14 06:52:18 2009
@@ -60,11 +60,11 @@
         assertMockEndpointsSatisfied();
     }
 
-    public void testFailedExchangesNotAdded() throws Exception {
+    public void testFailedExchangesNotAddedDeadLetterChannel() throws Exception {
         context.addRoutes(new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                errorHandler(deadLetterChannel("mock:error").maximumRedeliveries(2).delay(0).logStackTrace(false));
+                errorHandler(deadLetterChannel("mock:error").maximumRedeliveries(2).redeliverDelay(0).logStackTrace(false).handled(false));
 
                 from("direct:start").idempotentConsumer(
                         header("messageId"), MemoryIdempotentRepository.memoryIdempotentRepository(200)
@@ -94,6 +94,36 @@
         assertMockEndpointsSatisfied();
     }
 
+    public void testFailedExchangesNotAdded() throws Exception {
+        context.addRoutes(new RouteBuilder() {
+            @Override
+            public void configure() throws Exception {
+                from("direct:start").idempotentConsumer(
+                        header("messageId"), MemoryIdempotentRepository.memoryIdempotentRepository(200)
+                ).threads().process(new Processor() {
+                    public void process(Exchange exchange) throws Exception {
+                        String id = exchange.getIn().getHeader("messageId", String.class);
+                        if (id.equals("2")) {
+                            throw new IllegalArgumentException("Damn I cannot handle id 2");
+                        }
+                    }
+                }).to("mock:result");
+            }
+        });
+        context.start();
+
+        resultEndpoint.expectedBodiesReceivedInAnyOrder("one", "three");
+
+        sendMessage("1", "one");
+        sendMessage("2", "two");
+        sendMessage("1", "one");
+        sendMessage("2", "two");
+        sendMessage("1", "one");
+        sendMessage("3", "three");
+
+        assertMockEndpointsSatisfied();
+    }
+
     protected void sendMessage(final Object messageId, final Object body) throws Exception {
         template.send(startEndpoint, new Processor() {
             public void process(Exchange exchange) {

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=784513&r1=784512&r2=784513&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 Sun Jun 14 06:52:18 2009
@@ -61,12 +61,12 @@
         assertMockEndpointsSatisfied();
     }
 
-    public void testFailedExchangesNotAdded() throws Exception {
+    public void testFailedExchangesNotAddedDeadLetterChannel() throws Exception {
         context.addRoutes(new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                errorHandler(deadLetterChannel("mock:error").maximumRedeliveries(2).delay(0)
-                        .logStackTrace(false));
+                errorHandler(deadLetterChannel("mock:error").maximumRedeliveries(2).redeliverDelay(0)
+                        .logStackTrace(false).handled(false));
 
                 from("direct:start").idempotentConsumer(header("messageId"),
                         MemoryIdempotentRepository.memoryIdempotentRepository(200))
@@ -96,6 +96,36 @@
         assertMockEndpointsSatisfied();
     }
 
+    public void testFailedExchangesNotAdded() throws Exception {
+        context.addRoutes(new RouteBuilder() {
+            @Override
+            public void configure() throws Exception {
+                from("direct:start").idempotentConsumer(header("messageId"),
+                        MemoryIdempotentRepository.memoryIdempotentRepository(200))
+                        .process(new Processor() {
+                            public void process(Exchange exchange) throws Exception {
+                                String id = exchange.getIn().getHeader("messageId", String.class);
+                                if (id.equals("2")) {
+                                    throw new IllegalArgumentException("Damm I cannot handle id 2");
+                                }
+                            }
+                        }).to("mock:result");
+            }
+        });
+        context.start();
+
+        resultEndpoint.expectedBodiesReceived("one", "three");
+
+        sendMessage("1", "one");
+        sendMessage("2", "two");
+        sendMessage("1", "one");
+        sendMessage("2", "two");
+        sendMessage("1", "one");
+        sendMessage("3", "three");
+
+        assertMockEndpointsSatisfied();
+    }
+
     /**
      * A multithreaded test for IdempotentConsumer filter
      */

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=784513&r1=784512&r2=784513&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 Sun Jun 14 06:52:18 2009
@@ -61,11 +61,11 @@
         assertMockEndpointsSatisfied();
     }
 
-    public void testFailedExchangesNotAdded() throws Exception {
+    public void testFailedExchangesNotAddedDeadLetterChannel() throws Exception {
         context.addRoutes(new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                errorHandler(deadLetterChannel("mock:error").maximumRedeliveries(2).delay(0).logStackTrace(false));
+                errorHandler(deadLetterChannel("mock:error").maximumRedeliveries(2).redeliverDelay(0).logStackTrace(false).handled(false));
 
                 from("direct:start").idempotentConsumer(
                         header("messageId"), MemoryIdempotentRepository.memoryIdempotentRepository(200)
@@ -95,6 +95,36 @@
         assertMockEndpointsSatisfied();
     }
 
+    public void testFailedExchangesNotAdded() throws Exception {
+        context.addRoutes(new RouteBuilder() {
+            @Override
+            public void configure() throws Exception {
+                from("direct:start").idempotentConsumer(
+                        header("messageId"), MemoryIdempotentRepository.memoryIdempotentRepository(200)
+                ).eager(false).process(new Processor() {
+                    public void process(Exchange exchange) throws Exception {
+                        String id = exchange.getIn().getHeader("messageId", String.class);
+                        if (id.equals("2")) {
+                            throw new IllegalArgumentException("Damm I cannot handle id 2");
+                        }
+                    }
+                }).to("mock:result");
+            }
+        });
+        context.start();
+
+        resultEndpoint.expectedBodiesReceived("one", "three");
+
+        sendMessage("1", "one");
+        sendMessage("2", "two");
+        sendMessage("1", "one");
+        sendMessage("2", "two");
+        sendMessage("1", "one");
+        sendMessage("3", "three");
+
+        assertMockEndpointsSatisfied();
+    }
+
     public void testNotEager() throws Exception {
         context.addRoutes(new RouteBuilder() {
             @Override

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=784513&r1=784512&r2=784513&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 Sun Jun 14 06:52:18 2009
@@ -60,11 +60,45 @@
         assertMockEndpointsSatisfied();
     }
 
-    public void testFailedExchangesNotAdded() throws Exception {
+    public void testFailedExchangesNotAddedDeadLetterChannel() throws Exception {
+        context.addRoutes(new RouteBuilder() {
+            @Override
+            public void configure() throws Exception {
+                errorHandler(deadLetterChannel("mock:error").maximumRedeliveries(2).redeliverDelay(0).logStackTrace(false));
+
+                from("direct:start").idempotentConsumer(
+                        header("messageId"), MemoryIdempotentRepository.memoryIdempotentRepository(200)
+                ).process(new Processor() {
+                    public void process(Exchange exchange) throws Exception {
+                        String id = exchange.getIn().getHeader("messageId", String.class);
+                        if (id.equals("2")) {
+                            throw new IllegalArgumentException("Damm I cannot handle id 2");
+                        }
+                    }
+                }).to("mock:result");
+            }
+        });
+        context.start();
+
+        // we send in 2 messages with id 2 that fails
+        getMockEndpoint("mock:error").expectedMessageCount(2);
+        resultEndpoint.expectedBodiesReceived("one", "three");
+
+        sendMessage("1", "one");
+        sendMessage("2", "two");
+        sendMessage("1", "one");
+        sendMessage("2", "two");
+        sendMessage("1", "one");
+        sendMessage("3", "three");
+
+        assertMockEndpointsSatisfied();
+    }
+
+    public void testFailedExchangesNotAddedDeadLetterChannelNotHandled() throws Exception {
         context.addRoutes(new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                errorHandler(deadLetterChannel("mock:error").maximumRedeliveries(2).delay(0).logStackTrace(false));
+                errorHandler(deadLetterChannel("mock:error").handled(false).maximumRedeliveries(2).redeliverDelay(0).logStackTrace(false));
 
                 from("direct:start").idempotentConsumer(
                         header("messageId"), MemoryIdempotentRepository.memoryIdempotentRepository(200)
@@ -94,6 +128,39 @@
         assertMockEndpointsSatisfied();
     }
 
+    public void testFailedExchangesNotAdded() throws Exception {
+        context.addRoutes(new RouteBuilder() {
+            @Override
+            public void configure() throws Exception {
+                // use default error handler
+                errorHandler(defaultErrorHandler());
+
+                from("direct:start").idempotentConsumer(
+                        header("messageId"), MemoryIdempotentRepository.memoryIdempotentRepository(200)
+                ).process(new Processor() {
+                    public void process(Exchange exchange) throws Exception {
+                        String id = exchange.getIn().getHeader("messageId", String.class);
+                        if (id.equals("2")) {
+                            throw new IllegalArgumentException("Damm I cannot handle id 2");
+                        }
+                    }
+                }).to("mock:result");
+            }
+        });
+        context.start();
+
+        resultEndpoint.expectedBodiesReceived("one", "three");
+
+        sendMessage("1", "one");
+        sendMessage("2", "two");
+        sendMessage("1", "one");
+        sendMessage("2", "two");
+        sendMessage("1", "one");
+        sendMessage("3", "three");
+
+        assertMockEndpointsSatisfied();
+    }
+
     protected void sendMessage(final Object messageId, final Object body) {
         template.send(startEndpoint, new Processor() {
             public void process(Exchange exchange) {

Copied: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/MultiErrorHandlerInRouteNotHandledTest.java (from r784110, camel/trunk/camel-core/src/test/java/org/apache/camel/processor/MultiErrorHandlerInRouteTest.java)
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/MultiErrorHandlerInRouteNotHandledTest.java?p2=camel/trunk/camel-core/src/test/java/org/apache/camel/processor/MultiErrorHandlerInRouteNotHandledTest.java&p1=camel/trunk/camel-core/src/test/java/org/apache/camel/processor/MultiErrorHandlerInRouteTest.java&r1=784110&r2=784513&rev=784513&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/MultiErrorHandlerInRouteTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/MultiErrorHandlerInRouteNotHandledTest.java Sun Jun 14 06:52:18 2009
@@ -26,7 +26,7 @@
 /**
  * Unit test with multi route specific error handlers
  */
-public class MultiErrorHandlerInRouteTest extends ContextTestSupport {
+public class MultiErrorHandlerInRouteNotHandledTest extends ContextTestSupport {
     private MyProcessor outer = new MyProcessor();
     private MyProcessor inner = new MyProcessor();
 
@@ -86,12 +86,12 @@
         return new RouteBuilder() {
             public void configure() throws Exception {
                 from("direct:start")
-                    .errorHandler(deadLetterChannel("mock:outer").maximumRedeliveries(1))
+                    .errorHandler(deadLetterChannel("mock:outer").maximumRedeliveries(1).handled(false).redeliverDelay(0))
                     .process(outer)
                     .to("direct:outer");
 
                 from("direct:outer")
-                    .errorHandler(deadLetterChannel("mock:inner").maximumRedeliveries(2))
+                    .errorHandler(deadLetterChannel("mock:inner").maximumRedeliveries(2).handled(false).redeliverDelay(0))
                     .process(inner)
                     .to("mock:end");
             }
@@ -114,4 +114,4 @@
         }
     }
 
-}
+}
\ No newline at end of file

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/MultiErrorHandlerInRouteTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/MultiErrorHandlerInRouteTest.java?rev=784513&r1=784512&r2=784513&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/MultiErrorHandlerInRouteTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/MultiErrorHandlerInRouteTest.java Sun Jun 14 06:52:18 2009
@@ -19,7 +19,6 @@
 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.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
 
@@ -49,14 +48,7 @@
         MockEndpoint mock = getMockEndpoint("mock:outer");
         mock.expectedMessageCount(1);
 
-        try {
-            template.sendBody("direct:start", "Hello World");
-            fail("Should have thrown a IllegalArgumentException");
-        } catch (RuntimeCamelException e) {
-            assertTrue(e.getCause() instanceof IllegalArgumentException);
-            assertEquals("Forced exception by unit test", e.getCause().getMessage());
-            // expected
-        }
+        template.sendBody("direct:start", "Hello World");
 
         assertMockEndpointsSatisfied();
     }
@@ -69,14 +61,7 @@
         mock.expectedHeaderReceived("name", "Claus");
         mock.expectedMessageCount(1);
 
-        try {
-            template.sendBody("direct:start", "Hello World");
-            fail("Should have thrown a IllegalArgumentException");
-        } catch (RuntimeCamelException e) {
-            assertTrue(e.getCause() instanceof IllegalArgumentException);
-            assertEquals("Forced exception by unit test", e.getCause().getMessage());
-            // expected
-        }
+        template.sendBody("direct:start", "Hello World");
 
         assertMockEndpointsSatisfied();
     }
@@ -86,12 +71,12 @@
         return new RouteBuilder() {
             public void configure() throws Exception {
                 from("direct:start")
-                    .errorHandler(deadLetterChannel("mock:outer").maximumRedeliveries(1))
+                    .errorHandler(deadLetterChannel("mock:outer").maximumRedeliveries(1).redeliverDelay(0))
                     .process(outer)
                     .to("direct:outer");
 
                 from("direct:outer")
-                    .errorHandler(deadLetterChannel("mock:inner").maximumRedeliveries(2))
+                    .errorHandler(deadLetterChannel("mock:inner").maximumRedeliveries(2).redeliverDelay(0))
                     .process(inner)
                     .to("mock:end");
             }

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/MulticastStreamCachingTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/MulticastStreamCachingTest.java?rev=784513&r1=784512&r2=784513&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/MulticastStreamCachingTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/MulticastStreamCachingTest.java Sun Jun 14 06:52:18 2009
@@ -75,7 +75,7 @@
 
         return new RouteBuilder() {
             public void configure() {
-                errorHandler(deadLetterChannel("mock:error").delay(0).maximumRedeliveries(3));
+                errorHandler(deadLetterChannel("mock:error").redeliverDelay(0).maximumRedeliveries(3));
 
                 //stream caching should fix re-readability issues when multicasting messags
                 from("direct:a").multicast().to("direct:x", "direct:y", "direct:z");

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RedeliveryPolicyPerExceptionTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RedeliveryPolicyPerExceptionTest.java?rev=784513&r1=784512&r2=784513&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RedeliveryPolicyPerExceptionTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RedeliveryPolicyPerExceptionTest.java Sun Jun 14 06:52:18 2009
@@ -87,7 +87,7 @@
 
         return new RouteBuilder() {
             public void configure() {
-                errorHandler(deadLetterChannel("mock:error").delay(0).maximumRedeliveries(3));
+                errorHandler(deadLetterChannel("mock:error").redeliverDelay(0).maximumRedeliveries(3));
 
                 onException(IllegalArgumentException.class).maximumRedeliveries(2).to("mock:a");
                 onException(NullPointerException.class).to("mock:b");

Copied: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RollbackDefaultErrorHandlerTest.java (from r784110, 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/RollbackDefaultErrorHandlerTest.java?p2=camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RollbackDefaultErrorHandlerTest.java&p1=camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RollbackTest.java&r1=784110&r2=784513&rev=784513&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/RollbackDefaultErrorHandlerTest.java Sun Jun 14 06:52:18 2009
@@ -27,7 +27,7 @@
 /**
  * @version $Revision$
  */
-public class RollbackTest extends ContextTestSupport {
+public class RollbackDefaultErrorHandlerTest extends ContextTestSupport {
 
     public void testOk() throws Exception {
         MockEndpoint mock = getMockEndpoint("mock:result");
@@ -39,34 +39,20 @@
     }
 
     public void testRollback() throws Exception {
-        MockEndpoint mock = getMockEndpoint("mock:dead");
-        mock.expectedMessageCount(1);
-
-        getMockEndpoint("mock:rollback").expectedMessageCount(1);
-
         try {
             template.requestBody("direct:start", "bad");
             fail("Should have thrown a RollbackExchangeException");
         } catch (RuntimeCamelException e) {
             assertTrue(e.getCause() instanceof RollbackExchangeException);
         }
-
-        assertMockEndpointsSatisfied();
     }
 
     public void testRollbackWithExchange() throws Exception {
-        getMockEndpoint("mock:dead").expectedMessageCount(1);
-
-        MockEndpoint mock = getMockEndpoint("mock:rollback");
-        mock.expectedMessageCount(1);
-
         Exchange out = template.request("direct:start", new Processor() {
             public void process(Exchange exchange) throws Exception {
                 exchange.getIn().setBody("bad");
             }
         });
-        assertMockEndpointsSatisfied();
-
         assertNotNull(out.getException());
         assertIsInstanceOf(RollbackExchangeException.class, out.getException());
         assertEquals("Should be marked as rollback", true, out.isRollbackOnly());
@@ -77,8 +63,6 @@
         return new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                errorHandler(deadLetterChannel("mock:dead").maximumRedeliveries(1).delay(0));
-
                 from("direct:start")
                     .choice()
                         .when(body().isNotEqualTo("ok"))
@@ -95,4 +79,4 @@
             }
         };
     }
-}
+}
\ No newline at end of file

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=784513&r1=784512&r2=784513&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 Sun Jun 14 06:52:18 2009
@@ -77,7 +77,7 @@
         return new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                errorHandler(deadLetterChannel("mock:dead").maximumRedeliveries(1).delay(0));
+                errorHandler(deadLetterChannel("mock:dead").maximumRedeliveries(1).redeliverDelay(0).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=784513&r1=784512&r2=784513&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 Sun Jun 14 06:52:18 2009
@@ -205,7 +205,7 @@
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
             public void configure() {
-                errorHandler(deadLetterChannel("mock:failed").maximumRedeliveries(0));
+                errorHandler(deadLetterChannel("mock:failed").maximumRedeliveries(0).handled(false));
 
                 from("direct:seqential").split(body().tokenize(","), new UseLatestAggregationStrategy()).to("mock:result");
 

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/TraceableUnitOfWorkTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/TraceableUnitOfWorkTest.java?rev=784513&r1=784512&r2=784513&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/TraceableUnitOfWorkTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/TraceableUnitOfWorkTest.java Sun Jun 14 06:52:18 2009
@@ -49,7 +49,7 @@
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
-                errorHandler(deadLetterChannel("mock:error").delay(0).maximumRedeliveries(3));
+                errorHandler(deadLetterChannel("mock:error").redeliverDelay(0).maximumRedeliveries(3));
 
                 // must enable tracer to trace the route path taken during runtime
                 context.addInterceptStrategy(new Tracer());

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ValidatingProcessorTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ValidatingProcessorTest.java?rev=784513&r1=784512&r2=784513&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ValidatingProcessorTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ValidatingProcessorTest.java Sun Jun 14 06:52:18 2009
@@ -79,7 +79,7 @@
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
             public void configure() {
-                errorHandler(deadLetterChannel("mock:error").delay(0).maximumRedeliveries(3));
+                errorHandler(deadLetterChannel("mock:error").redeliverDelay(0).maximumRedeliveries(3));
 
                 onException(ValidationException.class).to("mock:invalid");
 

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ValidationFinallyBlockNoCatchTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ValidationFinallyBlockNoCatchTest.java?rev=784513&r1=784512&r2=784513&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ValidationFinallyBlockNoCatchTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ValidationFinallyBlockNoCatchTest.java Sun Jun 14 06:52:18 2009
@@ -72,7 +72,7 @@
         return new RouteBuilder() {
             public void configure() {
                 // use dead letter channel that supports redeliveries
-                errorHandler(deadLetterChannel("mock:dead").delay(0).maximumRedeliveries(3).logStackTrace(false));
+                errorHandler(deadLetterChannel("mock:dead").redeliverDelay(0).maximumRedeliveries(3).logStackTrace(false));
 
                 from("direct:start")
                     .doTry()

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ValidationWithHandlePipelineAndExceptionTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ValidationWithHandlePipelineAndExceptionTest.java?rev=784513&r1=784512&r2=784513&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ValidationWithHandlePipelineAndExceptionTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ValidationWithHandlePipelineAndExceptionTest.java Sun Jun 14 06:52:18 2009
@@ -29,7 +29,7 @@
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
             public void configure() {
-                errorHandler(deadLetterChannel("mock:error").delay(0).maximumRedeliveries(3));
+                errorHandler(deadLetterChannel("mock:error").redeliverDelay(0).maximumRedeliveries(3));
 
                 onException(ValidationException.class).to("mock:outer");
 

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ValidationWithInFlowExceptionTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ValidationWithInFlowExceptionTest.java?rev=784513&r1=784512&r2=784513&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ValidationWithInFlowExceptionTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/ValidationWithInFlowExceptionTest.java Sun Jun 14 06:52:18 2009
@@ -26,7 +26,7 @@
     protected RouteBuilder createRouteBuilder() {
         return new RouteBuilder() {
             public void configure() {
-                errorHandler(deadLetterChannel("mock:error").delay(0).maximumRedeliveries(3));
+                errorHandler(deadLetterChannel("mock:error").redeliverDelay(0).maximumRedeliveries(3));
 
                 onException(ValidationException.class).to("mock:invalid");
 

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=784513&r1=784512&r2=784513&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 Sun Jun 14 06:52:18 2009
@@ -40,7 +40,7 @@
         context.addRoutes(new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                errorHandler(deadLetterChannel("mock:dead").maximumRedeliveries(2).delay(0).logStackTrace(false));
+                errorHandler(deadLetterChannel("mock:dead").maximumRedeliveries(2).redeliverDelay(0).logStackTrace(false).handled(false));
 
                 from("direct:in")
                     .threads(2)
@@ -76,7 +76,7 @@
         context.addRoutes(new RouteBuilder() {
             @Override
             public void configure() throws Exception {
-                errorHandler(deadLetterChannel("mock:dead").maximumRedeliveries(2).delay(0).logStackTrace(false));
+                errorHandler(deadLetterChannel("mock:dead").maximumRedeliveries(2).redeliverDelay(0).logStackTrace(false));
 
                 from("direct:in")
                     .threads(2).waitForTaskToComplete(WaitForTaskToComplete.Never)

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/exceptionpolicy/DefaultExceptionPolicyStrategyUsingOnlyWhenTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/exceptionpolicy/DefaultExceptionPolicyStrategyUsingOnlyWhenTest.java?rev=784513&r1=784512&r2=784513&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/exceptionpolicy/DefaultExceptionPolicyStrategyUsingOnlyWhenTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/exceptionpolicy/DefaultExceptionPolicyStrategyUsingOnlyWhenTest.java Sun Jun 14 06:52:18 2009
@@ -40,13 +40,9 @@
     public void testNoWhen() throws Exception {
         MockEndpoint mock = getMockEndpoint(ERROR_QUEUE);
         mock.expectedMessageCount(1);
+        getMockEndpoint("mock:result").expectedMessageCount(0);
 
-        try {
-            template.sendBody("direct:a", "Hello Camel");
-            fail("Should have thrown an Exception");
-        } catch (Exception e) {
-            // expected
-        }
+        template.sendBody("direct:a", "Hello Camel");
 
         assertMockEndpointsSatisfied();
     }
@@ -54,6 +50,7 @@
     public void testWithWhen() throws Exception {
         MockEndpoint mock = getMockEndpoint(ERROR_USER_QUEUE);
         mock.expectedMessageCount(1);
+        getMockEndpoint("mock:result").expectedMessageCount(0);
 
         try {
             template.sendBodyAndHeader("direct:a", "Hello Camel", "user", "admin");
@@ -68,10 +65,10 @@
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {
             public void configure() throws Exception {
-                errorHandler(deadLetterChannel(ERROR_QUEUE).maximumRedeliveries(0));
+                errorHandler(deadLetterChannel(ERROR_QUEUE).maximumRedeliveries(0).redeliverDelay(100));
 
                 onException(MyUserException.class).onWhen(header("user").isNotNull())
-                    .maximumRedeliveries(1)
+                    .maximumRedeliveries(1).backOffMultiplier(2).redeliverDelay(0)
                     .to(ERROR_USER_QUEUE);
 
                 from("direct:a").process(new Processor() {

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/exceptionpolicy/DefaultExceptionPolicyStrategyUsingWhenTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/exceptionpolicy/DefaultExceptionPolicyStrategyUsingWhenTest.java?rev=784513&r1=784512&r2=784513&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/exceptionpolicy/DefaultExceptionPolicyStrategyUsingWhenTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/exceptionpolicy/DefaultExceptionPolicyStrategyUsingWhenTest.java Sun Jun 14 06:52:18 2009
@@ -69,7 +69,7 @@
         return new RouteBuilder() {
             // START SNIPPET e1
             public void configure() throws Exception {
-                errorHandler(deadLetterChannel("mock:error").delay(0).maximumRedeliveries(3));
+                errorHandler(deadLetterChannel("mock:error").redeliverDelay(0).maximumRedeliveries(3));
 
                 // here we define our onException to catch MyUserException when
                 // there is a header[user] on the exchange that is not null

Modified: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionComplexRouteTest.java
URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionComplexRouteTest.java?rev=784513&r1=784512&r2=784513&view=diff
==============================================================================
--- camel/trunk/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionComplexRouteTest.java (original)
+++ camel/trunk/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionComplexRouteTest.java Sun Jun 14 06:52:18 2009
@@ -108,7 +108,7 @@
                 // START SNIPPET: e1
                 // global error handler
                 // as its based on a unit test we do not have any delays between and do not log the stack trace
-                errorHandler(deadLetterChannel("mock:error").delay(0).logStackTrace(false));
+                errorHandler(deadLetterChannel("mock:error").redeliverDelay(0).logStackTrace(false));
 
                 // shared for both routes
                 onException(MyTechnicalException.class).handled(true).maximumRedeliveries(2).to("mock:tech.error");