Author: davsclaus Date: Fri May 27 06:59:00 2011 New Revision: 1128172 URL: http://svn.apache.org/viewvc?rev=1128172&view=rev Log: CAMEL-3931: Fixed tests, still a spring rollback test pending. Removed not needed tests as the feature was removed from error handler.
Added: camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/onexception/SpringContextScopeOnExceptionTest.java - copied, changed from r1125863, camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/onexception/SpringOnExceptionSubRouteTest.java camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/onexception/SpringContextScopeOnExceptionTest.xml - copied, changed from r1125863, camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/onexception/onExceptionSubRouteTest.xml Removed: camel/trunk/camel-core/src/test/java/org/apache/camel/processor/DeadLetterChannelHandledPolicyTest.java camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringDeadLetterChannelHandledPolicyTest.java camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringDeadLetterChannelHandlerPolicyNewTest.java camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringDeadLetterChannelNotHandledPolicyTest.java camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringDefaultErrorHandlerNotHandledPolicyTest.java camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/SpringDeadLetterChannelHandledPolicyNewTest.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/SpringDefaultErrorHandlerNotHandledPolicyTest.xml Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ErrorHandlerBuilderSupport.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/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/DeadLetterChannelRedeliveryDelayPatternTest.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/onexception/OnExceptionUseOriginalBodyTest.java camel/trunk/components/camel-spring/pom.xml camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringRollbackTest.java camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/onexception/SpringOnExceptionSubRouteTest.java 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/rollback.xml Modified: camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ErrorHandlerBuilderSupport.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ErrorHandlerBuilderSupport.java?rev=1128172&r1=1128171&r2=1128172&view=diff ============================================================================== --- camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ErrorHandlerBuilderSupport.java (original) +++ camel/trunk/camel-core/src/main/java/org/apache/camel/builder/ErrorHandlerBuilderSupport.java Fri May 27 06:59:00 2011 @@ -32,7 +32,7 @@ import org.apache.camel.util.ObjectHelpe */ public abstract class ErrorHandlerBuilderSupport implements ErrorHandlerBuilder { private List<OnExceptionDefinition> exceptions = new ArrayList<OnExceptionDefinition>(); - private ExceptionPolicyStrategy exceptionPolicyStrategy; // = ErrorHandlerSupport.createDefaultExceptionPolicyStrategy(); + private ExceptionPolicyStrategy exceptionPolicyStrategy; public void addErrorHandlers(OnExceptionDefinition exception) { // only add if we not already have it 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=1128172&r1=1128171&r2=1128172&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 Fri May 27 06:59:00 2011 @@ -88,8 +88,8 @@ public class FileConsumerFailureHandledT oneExchangeDone.matchesMockWaitTime(); - // madrid should NOT be deleted, but should be retired on next consumer - assertFiles("madrid.txt", false); + // madrid should be deleted as the DLC handles it + assertFiles("madrid.txt", true); } private static void assertFiles(String filename, boolean deleted) throws InterruptedException { @@ -111,7 +111,6 @@ public class FileConsumerFailureHandledT 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=1128172&r1=1128171&r2=1128172&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 Fri May 27 06:59:00 2011 @@ -21,7 +21,6 @@ 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; @@ -45,8 +44,6 @@ public class FromFilePollThirdTimeOkTest template.sendBodyAndHeader("file://target/deletefile", body, Exchange.FILE_NAME, "hello.txt"); getMockEndpoint("mock:result").expectedBodiesReceived(body); - // 2 first attempt should fail - getMockEndpoint("mock:error").expectedMessageCount(2); assertMockEndpointsSatisfied(); notify.matchesMockWaitTime(); @@ -62,10 +59,6 @@ public class FromFilePollThirdTimeOkTest protected RouteBuilder createRouteBuilder() throws Exception { 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)); - 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 { counter++; 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=1128172&r1=1128171&r2=1128172&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 Fri May 27 06:59:00 2011 @@ -16,7 +16,6 @@ */ package org.apache.camel.component.seda; -import org.apache.camel.CamelExecutionException; import org.apache.camel.ContextTestSupport; import org.apache.camel.builder.RouteBuilder; @@ -29,13 +28,7 @@ public class SedaInOutWithErrorDeadLette getMockEndpoint("mock:result").expectedMessageCount(0); getMockEndpoint("mock:dead").expectedMessageCount(1); - try { - template.requestBody("direct:start", "Hello World", String.class); - fail("Should have thrown an exception"); - } catch (CamelExecutionException e) { - assertIsInstanceOf(IllegalArgumentException.class, e.getCause()); - assertEquals("Damn I cannot do this", e.getCause().getMessage()); - } + template.requestBody("direct:start", "Hello World", String.class); assertMockEndpointsSatisfied(); } @@ -46,7 +39,6 @@ public class SedaInOutWithErrorDeadLette @Override public void configure() throws Exception { 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/GertJBIIssueTest.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/issues/GertJBIIssueTest.java?rev=1128172&r1=1128171&r2=1128172&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 Fri May 27 06:59:00 2011 @@ -42,7 +42,6 @@ public class GertJBIIssueTest extends Co @Override public void configure() throws Exception { errorHandler(deadLetterChannel("mock:dlc").maximumRedeliveries(0)); - onException(IllegalArgumentException.class).handled(false); from("direct:start") .threads(2) @@ -56,13 +55,7 @@ public class GertJBIIssueTest extends Co getMockEndpoint("mock:done").expectedMessageCount(1); getMockEndpoint("mock:dlc").expectedMessageCount(1); - try { - template.sendBody("direct:start", "Hello World"); - fail("Should thrown exception"); - } catch (Exception e) { - Exception cause = assertIsInstanceOf(IllegalArgumentException.class, e.getCause()); - assertEquals("Forced", cause.getMessage()); - } + template.sendBody("direct:start", "Hello World"); assertMockEndpointsSatisfied(); } @@ -73,20 +66,15 @@ public class GertJBIIssueTest extends Co context.addRoutes(new RouteBuilder() { @Override public void configure() throws Exception { - errorHandler(deadLetterChannel("mock:dlc").maximumRedeliveries(0)); - onException(IllegalArgumentException.class).handled(false); - from("direct:start") .threads(2) .to("mock:done") .throwException(new IllegalArgumentException("Forced")); - } }); context.start(); getMockEndpoint("mock:done").expectedMessageCount(1); - getMockEndpoint("mock:dlc").expectedMessageCount(1); final CountDownLatch latch = new CountDownLatch(1); 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=1128172&r1=1128171&r2=1128172&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 Fri May 27 06:59:00 2011 @@ -63,8 +63,6 @@ public class ConvertBodyTest extends Con } public void testConvertFailed() throws Exception { - MockEndpoint dead = getMockEndpoint("mock:dead"); - dead.expectedMessageCount(1); getMockEndpoint("mock:result").expectedMessageCount(0); try { @@ -135,10 +133,6 @@ public class ConvertBodyTest extends Con protected RouteBuilder createRouteBuilder() { return new RouteBuilder() { public void configure() { - 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"); 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=1128172&r1=1128171&r2=1128172&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 Fri May 27 06:59:00 2011 @@ -33,20 +33,11 @@ public class DeadLetterChannelRedelivery public void testDelayPatternTest() throws Exception { counter = 0; - // We expect the exchange here after 1 delivery and 2 re-deliveries MockEndpoint mock = getMockEndpoint("mock:error"); mock.expectedMessageCount(1); - mock.message(0).header("CamelRedelivered").isEqualTo(Boolean.TRUE); - mock.message(0).header("CamelRedeliveryCounter").isEqualTo(3); long start = System.currentTimeMillis(); - try { - template.sendBody("direct:start", "Hello World"); - fail("Should have thrown exception"); - } catch (Exception e) { - // expected - assertEquals("Forced exception by unit test", e.getCause().getMessage()); - } + template.sendBody("direct:start", "Hello World"); long delta = System.currentTimeMillis() - start; assertTrue("Should be slower", delta > 1000); @@ -65,8 +56,6 @@ public class DeadLetterChannelRedelivery 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/RollbackTest.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RollbackTest.java?rev=1128172&r1=1128171&r2=1128172&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 Fri May 27 06:59:00 2011 @@ -25,7 +25,7 @@ import org.apache.camel.builder.RouteBui import org.apache.camel.component.mock.MockEndpoint; /** - * @version + * @version */ public class RollbackTest extends ContextTestSupport { @@ -81,6 +81,7 @@ public class RollbackTest extends Contex @Override public void configure() throws Exception { errorHandler(deadLetterChannel("mock:dead").maximumRedeliveries(4).redeliveryDelay(0)); + // we don't want the DLC to handle the Exception onException(RollbackExchangeException.class).handled(false); from("direct:start") 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=1128172&r1=1128171&r2=1128172&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 Fri May 27 06:59:00 2011 @@ -223,6 +223,7 @@ public class SplitterTest extends Contex return new RouteBuilder() { public void configure() { errorHandler(deadLetterChannel("mock:failed").maximumRedeliveries(0)); + // we don't want the DLC to handle the Exception onException(CamelException.class).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/onexception/OnExceptionUseOriginalBodyTest.java URL: http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/onexception/OnExceptionUseOriginalBodyTest.java?rev=1128172&r1=1128171&r2=1128172&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 Fri May 27 06:59:00 2011 @@ -17,7 +17,6 @@ package org.apache.camel.processor.onexception; import org.apache.camel.CamelExchangeException; -import org.apache.camel.CamelExecutionException; import org.apache.camel.ContextTestSupport; import org.apache.camel.Exchange; import org.apache.camel.Processor; @@ -44,12 +43,7 @@ public class OnExceptionUseOriginalBodyT MockEndpoint dead = getMockEndpoint("mock:dead"); dead.expectedBodiesReceived("Hello World"); - try { - template.sendBody("direct:b", "Hello"); - fail("Should have thrown an exception"); - } catch (CamelExecutionException e) { - assertTrue(e.getCause().getMessage().startsWith("I cannot do it")); - } + template.sendBody("direct:b", "Hello"); assertMockEndpointsSatisfied(); } @@ -62,8 +56,6 @@ public class OnExceptionUseOriginalBodyT // will not use original exchange 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-spring/pom.xml URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/pom.xml?rev=1128172&r1=1128171&r2=1128172&view=diff ============================================================================== --- camel/trunk/components/camel-spring/pom.xml (original) +++ camel/trunk/components/camel-spring/pom.xml Fri May 27 06:59:00 2011 @@ -240,11 +240,8 @@ </includes> <excludes> <!-- TODO FIXME ASAP --> - <exclude>**/SpringOnExceptionUseOriginalBodyTest.*</exclude> - <exclude>**/SpringConvertBodyTest.*</exclude> - <exclude>**/SpringDeadLetterChannelNotHandledPolicyTest.*</exclude> - <exclude>**/SpringRollbackTest.*</exclude> - <exclude>**/XXXTest.*</exclude> + <exclude>**/XXXTest.*</exclude> + <exclude>**/SpringRollbackTest.*</exclude> </excludes> </configuration> </plugin> Modified: camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringRollbackTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringRollbackTest.java?rev=1128172&r1=1128171&r2=1128172&view=diff ============================================================================== --- camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringRollbackTest.java (original) +++ camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringRollbackTest.java Fri May 27 06:59:00 2011 @@ -17,11 +17,30 @@ package org.apache.camel.spring.processor; import org.apache.camel.CamelContext; +import org.apache.camel.RollbackExchangeException; +import org.apache.camel.RuntimeCamelException; +import org.apache.camel.component.mock.MockEndpoint; import org.apache.camel.processor.RollbackTest; import static org.apache.camel.spring.processor.SpringTestHelper.createSpringCamelContext; public class SpringRollbackTest extends RollbackTest { + 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(); + } + protected CamelContext createCamelContext() throws Exception { return createSpringCamelContext(this, "org/apache/camel/spring/processor/rollback.xml"); } Copied: camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/onexception/SpringContextScopeOnExceptionTest.java (from r1125863, camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/onexception/SpringOnExceptionSubRouteTest.java) URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/onexception/SpringContextScopeOnExceptionTest.java?p2=camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/onexception/SpringContextScopeOnExceptionTest.java&p1=camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/onexception/SpringOnExceptionSubRouteTest.java&r1=1125863&r2=1128172&rev=1128172&view=diff ============================================================================== --- camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/onexception/SpringOnExceptionSubRouteTest.java (original) +++ camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/onexception/SpringContextScopeOnExceptionTest.java Fri May 27 06:59:00 2011 @@ -25,7 +25,7 @@ import static org.apache.camel.spring.pr /** * Unit test for onException with the spring DSL. */ -public class SpringOnExceptionSubRouteTest extends ContextTestSupport { +public class SpringContextScopeOnExceptionTest extends ContextTestSupport { public void testOrderOk() throws Exception { MockEndpoint result = getMockEndpoint("mock:result"); @@ -35,6 +35,9 @@ public class SpringOnExceptionSubRouteTe MockEndpoint error = getMockEndpoint("mock:error"); error.expectedMessageCount(0); + MockEndpoint dead = getMockEndpoint("mock:dead"); + dead.expectedMessageCount(0); + Object out = template.requestBodyAndHeader("direct:start", "Order: MacBook Pro", "customerid", "444"); assertEquals("Order OK", out); @@ -49,30 +52,16 @@ public class SpringOnExceptionSubRouteTe MockEndpoint result = getMockEndpoint("mock:result"); result.expectedMessageCount(0); + MockEndpoint dead = getMockEndpoint("mock:dead"); + dead.expectedMessageCount(0); + Object out = template.requestBodyAndHeader("direct:start", "Order: kaboom", "customerid", "555"); assertEquals("Order ERROR", out); assertMockEndpointsSatisfied(); } - public void testOrderErrorWithNoExceptionClause() throws Exception { - MockEndpoint error = getMockEndpoint("mock:error"); - error.expectedMessageCount(0); - - MockEndpoint result = getMockEndpoint("mock:result"); - result.expectedMessageCount(0); - - try { - template.requestBodyAndHeader("direct:start_with_no_handler", "Order: kaboom", "customerid", "555"); - fail("Should throw an Exception"); - } catch (Exception e) { - assertEquals("Cannot order: kaboom", e.getCause().getMessage()); - } - - assertMockEndpointsSatisfied(); - } - protected CamelContext createCamelContext() throws Exception { - return createSpringCamelContext(this, "/org/apache/camel/spring/processor/onexception/onExceptionSubRouteTest.xml"); + return createSpringCamelContext(this, "/org/apache/camel/spring/processor/onexception/SpringContextScopeOnExceptionTest.xml"); } } \ No newline at end of file Modified: camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/onexception/SpringOnExceptionSubRouteTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/onexception/SpringOnExceptionSubRouteTest.java?rev=1128172&r1=1128171&r2=1128172&view=diff ============================================================================== --- camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/onexception/SpringOnExceptionSubRouteTest.java (original) +++ camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/onexception/SpringOnExceptionSubRouteTest.java Fri May 27 06:59:00 2011 @@ -35,6 +35,9 @@ public class SpringOnExceptionSubRouteTe MockEndpoint error = getMockEndpoint("mock:error"); error.expectedMessageCount(0); + MockEndpoint dead = getMockEndpoint("mock:dead"); + dead.expectedMessageCount(0); + Object out = template.requestBodyAndHeader("direct:start", "Order: MacBook Pro", "customerid", "444"); assertEquals("Order OK", out); @@ -49,6 +52,9 @@ public class SpringOnExceptionSubRouteTe MockEndpoint result = getMockEndpoint("mock:result"); result.expectedMessageCount(0); + MockEndpoint dead = getMockEndpoint("mock:dead"); + dead.expectedMessageCount(0); + Object out = template.requestBodyAndHeader("direct:start", "Order: kaboom", "customerid", "555"); assertEquals("Order ERROR", out); @@ -62,6 +68,9 @@ public class SpringOnExceptionSubRouteTe MockEndpoint result = getMockEndpoint("mock:result"); result.expectedMessageCount(0); + MockEndpoint dead = getMockEndpoint("mock:dead"); + dead.expectedMessageCount(0); + try { template.requestBodyAndHeader("direct:start_with_no_handler", "Order: kaboom", "customerid", "555"); fail("Should throw an Exception"); Modified: camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/convertBody.xml URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/convertBody.xml?rev=1128172&r1=1128171&r2=1128172&view=diff ============================================================================== --- camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/convertBody.xml (original) +++ camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/convertBody.xml Fri May 27 06:59:00 2011 @@ -31,7 +31,7 @@ <to uri="mock:result"/> </route> - <route errorHandlerRef="deadLetterErrorHandler"> + <route> <from uri="direct:invalid"/> <convertBodyTo type="java.util.Date"/> <to uri="mock:result"/> @@ -56,14 +56,5 @@ </route> </camelContext> - - <bean id="deadLetterErrorHandler" class="org.apache.camel.builder.DeadLetterChannelBuilder"> - <property name="deadLetterUri" value="mock:dead"/> - <property name="redeliveryPolicy" ref="redeliveryPolicy"/> - </bean> - - <bean id="redeliveryPolicy" class="org.apache.camel.processor.RedeliveryPolicy"> - <property name="maximumRedeliveries" value="0"/> - </bean> <!-- END SNIPPET: example --> </beans> Copied: camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/onexception/SpringContextScopeOnExceptionTest.xml (from r1125863, camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/onexception/onExceptionSubRouteTest.xml) URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/onexception/SpringContextScopeOnExceptionTest.xml?p2=camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/onexception/SpringContextScopeOnExceptionTest.xml&p1=camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/onexception/onExceptionSubRouteTest.xml&r1=1125863&r2=1128172&rev=1128172&view=diff ============================================================================== --- camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/onexception/onExceptionSubRouteTest.xml (original) +++ camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/onexception/SpringContextScopeOnExceptionTest.xml Fri May 27 06:59:00 2011 @@ -22,44 +22,32 @@ http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd "> - <!-- START SNIPPET: e1 --> - <!-- setup our error handler as the deal letter channel --> - <bean id="deadLetter" class="org.apache.camel.builder.DeadLetterChannelBuilder"> - <property name="deadLetterUri" value="mock:dead"/> - </bean> - - <!-- the default error handler used in the 2nd route --> - <bean id="defaultErrorHandler" class="org.apache.camel.builder.DefaultErrorHandlerBuilder"/> - - <!-- this is our POJO bean with our business logic defined as a plain spring bean --> - <bean id="orderService" class="org.apache.camel.spring.processor.onexception.OrderService"/> - - <!-- this is the camel context where we define the routes --> - <camelContext xmlns="http://camel.apache.org/schema/spring"> - - <route errorHandlerRef="deadLetter"> - <from uri="direct:start"/> - <onException> - <exception>org.apache.camel.spring.processor.onexception.OrderFailedException</exception> - <redeliveryPolicy maximumRedeliveries="1"/> - <handled> - <constant>true</constant> - </handled> - <bean ref="orderService" method="orderFailed"/> - <to uri="mock:error"/> - </onException> - <bean ref="orderService" method="handleOrder"/> - <to uri="mock:result"/> - </route> - - <!-- The exception clause specified in the first route will not be used in this route --> - <route errorHandlerRef="defaultErrorHandler"> - <from uri="direct:start_with_no_handler"/> - <bean ref="orderService" method="handleOrder"/> - <to uri="mock:result"/> - </route> + <bean id="deadLetter" class="org.apache.camel.builder.DeadLetterChannelBuilder"> + <property name="deadLetterUri" value="mock:dead"/> + </bean> + + <bean id="orderService" class="org.apache.camel.spring.processor.onexception.OrderService"/> + + <camelContext xmlns="http://camel.apache.org/schema/spring"> + + <!-- context scoped on exception --> + <onException> + <exception>org.apache.camel.spring.processor.onexception.OrderFailedException</exception> + <redeliveryPolicy maximumRedeliveries="1"/> + <handled> + <constant>true</constant> + </handled> + <bean ref="orderService" method="orderFailed"/> + <to uri="mock:error"/> + </onException> + + <!-- route using dead letter error handler --> + <route errorHandlerRef="deadLetter"> + <from uri="direct:start"/> + <bean ref="orderService" method="handleOrder"/> + <to uri="mock:result"/> + </route> - </camelContext> - <!-- END SNIPPET: e1 --> + </camelContext> </beans> Modified: camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/rollback.xml URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/rollback.xml?rev=1128172&r1=1128171&r2=1128172&view=diff ============================================================================== --- camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/rollback.xml (original) +++ camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/rollback.xml Fri May 27 06:59:00 2011 @@ -22,29 +22,31 @@ http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd "> - <bean id="errorHandler" class="org.apache.camel.builder.DeadLetterChannelBuilder"> + <bean id="dlc" class="org.apache.camel.builder.DeadLetterChannelBuilder"> <property name="deadLetterUri" value="mock:dead"/> <property name="redeliveryPolicy" ref="policy"/> </bean> <bean id="policy" class="org.apache.camel.processor.RedeliveryPolicy"> <property name="redeliveryDelay" value="0"/> - <property name="maximumRedeliveries" value="1"/> + <property name="maximumRedeliveries" value="4"/> </bean> <!-- START SNIPPET: e1 --> - <camelContext xmlns="http://camel.apache.org/schema/spring"> + <camelContext errorHandlerRef="dlc" xmlns="http://camel.apache.org/schema/spring"> + <onException> <exception>org.apache.camel.RollbackExchangeException</exception> <handled><constant>false</constant></handled> </onException> - <route errorHandlerRef="errorHandler"> + + <route> <from uri="direct:start"/> <choice> <when> <simple>${body} != 'ok'</simple> <to uri="mock:rollback"/> - <rollback message="This is an optional message"/> + <rollback message="That do not work"/> </when> <otherwise> <to uri="mock:result"/>