Author: davsclaus
Date: Thu Aug 23 06:48:04 2012
New Revision: 1376387

URL: http://svn.apache.org/viewvc?rev=1376387&view=rev
Log:
Added unit test based on user forum issue

Added:
    
camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringRedeliverToSubRouteTest.java
      - copied, changed from r1376365, 
camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringAOPBeforeTest.java
    
camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/RedeliverToSubRouteTest.xml
      - copied, changed from r1376365, 
camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/aopbefore.xml
Modified:
    
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RedeliverToSubRouteTest.java

Modified: 
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RedeliverToSubRouteTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RedeliverToSubRouteTest.java?rev=1376387&r1=1376386&r2=1376387&view=diff
==============================================================================
--- 
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RedeliverToSubRouteTest.java
 (original)
+++ 
camel/trunk/camel-core/src/test/java/org/apache/camel/processor/RedeliverToSubRouteTest.java
 Thu Aug 23 06:48:04 2012
@@ -60,19 +60,25 @@ public class RedeliverToSubRouteTest ext
                     // disable error handler, so the entire route can be 
retried in case of redelivery
                     .errorHandler(noErrorHandler())
                     .to("mock:b")
-                    .process(new Processor() {
-                        private int counter;
-                        @Override
-                        public void process(Exchange exchange) throws 
Exception {
-                            // use a processor to simulate error in the first 
2 calls
-                            if (counter++ < 2) {
-                                throw new IOException("Forced");
-                            }
-                            exchange.getIn().setBody("Bye World");
-                        }
-                    });
+                    .process(new MyProcessor());
                 // END SNIPPET: e1
             }
         };
     }
+
+    // START SNIPPET: e2
+    public static class MyProcessor implements Processor {
+
+        private int counter;
+
+        @Override
+        public void process(Exchange exchange) throws Exception {
+            // use a processor to simulate error in the first 2 calls
+            if (counter++ < 2) {
+                throw new IOException("Forced");
+            }
+            exchange.getIn().setBody("Bye World");
+        }
+    }
+    // END SNIPPET: e2
 }

Copied: 
camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringRedeliverToSubRouteTest.java
 (from r1376365, 
camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringAOPBeforeTest.java)
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringRedeliverToSubRouteTest.java?p2=camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringRedeliverToSubRouteTest.java&p1=camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringAOPBeforeTest.java&r1=1376365&r2=1376387&rev=1376387&view=diff
==============================================================================
--- 
camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringAOPBeforeTest.java
 (original)
+++ 
camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/processor/SpringRedeliverToSubRouteTest.java
 Thu Aug 23 06:48:04 2012
@@ -17,15 +17,16 @@
 package org.apache.camel.spring.processor;
 
 import org.apache.camel.CamelContext;
-import org.apache.camel.processor.AOPBeforeTest;
+import org.apache.camel.processor.RedeliverToSubRouteTest;
+
 import static 
org.apache.camel.spring.processor.SpringTestHelper.createSpringCamelContext;
 
 /**
  * @version 
  */
-public class SpringAOPBeforeTest extends AOPBeforeTest {
+public class SpringRedeliverToSubRouteTest extends RedeliverToSubRouteTest {
 
     protected CamelContext createCamelContext() throws Exception {
-        return createSpringCamelContext(this, 
"org/apache/camel/spring/processor/aopbefore.xml");
+        return createSpringCamelContext(this, 
"org/apache/camel/spring/processor/RedeliverToSubRouteTest.xml");
     }
 }
\ No newline at end of file

Copied: 
camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/RedeliverToSubRouteTest.xml
 (from r1376365, 
camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/aopbefore.xml)
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/RedeliverToSubRouteTest.xml?p2=camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/RedeliverToSubRouteTest.xml&p1=camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/aopbefore.xml&r1=1376365&r2=1376387&rev=1376387&view=diff
==============================================================================
--- 
camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/aopbefore.xml
 (original)
+++ 
camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/RedeliverToSubRouteTest.xml
 Thu Aug 23 06:48:04 2012
@@ -23,13 +23,35 @@
     ">
 
     <!-- START SNIPPET: e1 -->
+       <!-- this is the processor that will fail the first 2 attempts -->
+       <bean id="myProcessor" 
class="org.apache.camel.processor.RedeliverToSubRouteTest.MyProcessor"/>
+
     <camelContext xmlns="http://camel.apache.org/schema/spring";>
+
+               <!-- setup no error handler with an id, we refer to from the 
2nd route -->
+               <errorHandler id="noErrorHandler" type="NoErrorHandler"/>
+
+               <!-- configure on exception to redelivery at most 2 times when 
an IOException was thrown
+                    do not use redelivery delay to run unit test faster -->
+               <onException>
+                       <exception>java.io.IOException</exception>
+                       <redeliveryPolicy maximumRedeliveries="2" 
redeliveryDelay="0"/>
+               </onException>
+
+               <!-- 1st route, no need to setup error handler, as it will use 
the default error handler -->
         <route>
             <from uri="direct:start"/>
-            <aop beforeUri="mock:before">
-                <transform><constant>Bye World</constant></transform>
-                <to uri="mock:result"/>
-            </aop>
+                       <to uri="mock:a"/>
+                       <to uri="direct:sub"/>
+            <to uri="mock:c"/>
+        </route>
+
+               <!-- disable error handler on this route, so the entire route 
can be redelivered
+                    when called from the 1st route -->
+        <route errorHandlerRef="noErrorHandler">
+            <from uri="direct:sub"/>
+                       <to uri="mock:b"/>
+                       <process ref="myProcessor"/>
         </route>
     </camelContext>
     <!-- END SNIPPET: e1 -->


Reply via email to