Author: sully6768
Date: Thu Sep 27 19:22:26 2012
New Revision: 1391170

URL: http://svn.apache.org/viewvc?rev=1391170&view=rev
Log:
Updated batch transaction tests to allow for a slower environment

Modified:
    camel/trunk/components/camel-sjms/pom.xml
    
camel/trunk/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/BatchTransactedConcurrentMultipleConsumerTest.java
    
camel/trunk/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/BatchTransactedConcurrentMultipleRouteConsumersTest.java
    
camel/trunk/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/TransactedConcurrentConsumersTest.java

Modified: camel/trunk/components/camel-sjms/pom.xml
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-sjms/pom.xml?rev=1391170&r1=1391169&r2=1391170&view=diff
==============================================================================
--- camel/trunk/components/camel-sjms/pom.xml (original)
+++ camel/trunk/components/camel-sjms/pom.xml Thu Sep 27 19:22:26 2012
@@ -130,19 +130,17 @@
                     <source>1.6</source>
                     <target>1.6</target>
                 </configuration>
-            </plugin>      <!-- Configure which tests are included/excuded -->
+            </plugin>
             <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-surefire-plugin</artifactId>
-                <version>2.8</version>
                 <configuration>
                     <forkMode>pertest</forkMode>
                     <argLine>-Xmx512M</argLine>
-                    <excludes>
-                        
<exclude>**/BatchTransactedConcurrentMultipleConsumerTest.*</exclude>
-                        
<exclude>**/BatchTransactedConcurrentMultipleRouteConsumersTest.*</exclude>
-                        
<exclude>**/TransactedConcurrentConsumersTest.*</exclude>
-                    </excludes>
+<!--                     <excludes> -->
+<!--                         
<exclude>**/BatchTransactedConcurrentMultipleConsumerTest.*</exclude> -->
+<!--                         
<exclude>**/BatchTransactedConcurrentMultipleRouteConsumersTest.*</exclude> -->
+<!--                         
<exclude>**/TransactedConcurrentConsumersTest.*</exclude> -->
+<!--                     </excludes> -->
                 </configuration>
             </plugin>
             <plugin>

Modified: 
camel/trunk/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/BatchTransactedConcurrentMultipleConsumerTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/BatchTransactedConcurrentMultipleConsumerTest.java?rev=1391170&r1=1391169&r2=1391170&view=diff
==============================================================================
--- 
camel/trunk/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/BatchTransactedConcurrentMultipleConsumerTest.java
 (original)
+++ 
camel/trunk/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/BatchTransactedConcurrentMultipleConsumerTest.java
 Thu Sep 27 19:22:26 2012
@@ -33,10 +33,12 @@ import org.junit.Test;
  */
 public class BatchTransactedConcurrentMultipleConsumerTest extends 
CamelTestSupport {
 
-    private static final int BATCH_COUNT = 25;
+    private static final int BATCH_COUNT = 10;
     private static final int CONSUMER_COUNT = 2;
-    private static final int MAX_ATTEMPTS_COUNT = 50;
-    private static final int MESSAGE_COUNT = 200;
+    private static final int MAX_ATTEMPTS_COUNT = 10;
+    private static final int MESSAGE_COUNT = 20;
+    private static final int TOTAL_REDELIVERED_FALSE = 19;
+    private static final int TOTAL_REDELIVERED_TRUE = 5;
     private static final String BROKER_URI = 
"vm://btcmcTestBroker?broker.persistent=false&broker.useJmx=true";
 
     /**
@@ -48,8 +50,8 @@ public class BatchTransactedConcurrentMu
     @Test
     public void testEndpointConfiguredBatchTransaction() throws Exception {
 
-        
getMockEndpoint("mock:test.redelivered.false").expectedMessageCount(175);
-        getMockEndpoint("mock:test.redelivered.true").expectedMessageCount(25);
+        
getMockEndpoint("mock:test.redelivered.false").expectedMessageCount(TOTAL_REDELIVERED_FALSE);
+        
getMockEndpoint("mock:test.redelivered.true").expectedMessageCount(TOTAL_REDELIVERED_TRUE);
 
         // We should never see a message appear in this endpoint or we
         // have problem with our JMS provider
@@ -61,7 +63,8 @@ public class BatchTransactedConcurrentMu
             template.sendBody("direct:start", message);
             log.trace("Sending message: {}", message);
         }
-        assertMockEndpointsSatisfied(10, TimeUnit.SECONDS);
+        Thread.sleep(3000);
+        assertMockEndpointsSatisfied(5, TimeUnit.SECONDS);
 
     }
 
@@ -105,12 +108,6 @@ public class BatchTransactedConcurrentMu
                         .to("mock:test.redelivered.false")
                     // Now process again any messages that were redelivered
                     .when(header("JMSRedelivered").isEqualTo("true"))
-                        .process(new Processor() {
-                            @Override
-                            public void process(Exchange exchange) throws 
Exception {
-                                log.info("Retry processing attempt.  Continue 
processing the message.");
-                            }
-                        })
                         .log("2nd attempt Body: ${body} | Redeliverd: 
${header.JMSRedelivered}")
                         .to("mock:test.redelivered.true")
                     .otherwise()

Modified: 
camel/trunk/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/BatchTransactedConcurrentMultipleRouteConsumersTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/BatchTransactedConcurrentMultipleRouteConsumersTest.java?rev=1391170&r1=1391169&r2=1391170&view=diff
==============================================================================
--- 
camel/trunk/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/BatchTransactedConcurrentMultipleRouteConsumersTest.java
 (original)
+++ 
camel/trunk/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/BatchTransactedConcurrentMultipleRouteConsumersTest.java
 Thu Sep 27 19:22:26 2012
@@ -34,11 +34,14 @@ import org.junit.Test;
  */
 public class BatchTransactedConcurrentMultipleRouteConsumersTest extends 
CamelTestSupport {
     private static final int ROUTE_COUNT = 2;
-    private static final int BATCH_COUNT = 25;
-    private static final int MAX_ATTEMPTS_COUNT = 50;
-    private static final int MESSAGE_COUNT = 200;
+    private static final int BATCH_COUNT = 10;
+    private static final int MAX_ATTEMPTS_COUNT = 10;
+    private static final int MESSAGE_COUNT = 20;
     private static final int CONSUMER_COUNT = 1;
+    private static final int TOTAL_REDELIVERED_FALSE = 9;
+    private static final int TOTAL_REDELIVERED_TRUE = 10;
     private static final String BROKER_URI = 
"vm://btccmrcTestBroker?broker.persistent=false&broker.useJmx=true";
+    
 
     /**
      * We want to verify that when consuming from a single destination with
@@ -52,13 +55,13 @@ public class BatchTransactedConcurrentMu
         // We will only get 99 messages because after the 50th attempt
         // the exception will throw and that message will not make
         // it to the test.redelivered.false.# endpoint
-        
getMockEndpoint("mock:test.redelivered.false.1").expectedMessageCount(99);
-        
getMockEndpoint("mock:test.redelivered.false.2").expectedMessageCount(99);
+        
getMockEndpoint("mock:test.redelivered.false.1").expectedMessageCount(TOTAL_REDELIVERED_FALSE);
+        
getMockEndpoint("mock:test.redelivered.false.2").expectedMessageCount(TOTAL_REDELIVERED_FALSE);
 
         // We should always get 25 for each endpoint since that is our batch
         // count to roll back.
-        
getMockEndpoint("mock:test.redelivered.true.1").expectedMessageCount(25);
-        
getMockEndpoint("mock:test.redelivered.true.2").expectedMessageCount(25);
+        
getMockEndpoint("mock:test.redelivered.true.1").expectedMessageCount(TOTAL_REDELIVERED_TRUE);
+        
getMockEndpoint("mock:test.redelivered.true.2").expectedMessageCount(TOTAL_REDELIVERED_TRUE);
         getMockEndpoint("mock:test.after").expectedMessageCount(0);
 
         // Send the message count
@@ -67,7 +70,9 @@ public class BatchTransactedConcurrentMu
             template.sendBody("direct:start", message);
             log.trace("Sending message: {}", message);
         }
-        assertMockEndpointsSatisfied(10, TimeUnit.SECONDS);
+
+        Thread.sleep(3000);
+        assertMockEndpointsSatisfied(5, TimeUnit.SECONDS);
     }
 
     @Override
@@ -108,17 +113,11 @@ public class BatchTransactedConcurrentMu
                                     }
                                 }
                             })
-                            .log("1st attempt Body: ${body} | Redeliverd: 
${header.JMSRedelivered}")
+                            .log("Route " + i + " 1st attempt Body: ${body} | 
Redeliverd: ${header.JMSRedelivered}")
                             .to("mock:test.redelivered.false." + i)
                         // Now process again any messages that were redelivered
                         .when(header("JMSRedelivered").isEqualTo("true"))
-                            .process(new Processor() {
-                                @Override
-                                public void process(Exchange exchange) throws 
Exception {
-                                    log.info("Retry processing attempt.  
Continue processing the message.");
-                                }
-                            })
-                            .log("2nd attempt Body: ${body} | Redeliverd: 
${header.JMSRedelivered}")
+                            .log("Route " + i + " 2nd attempt Body: ${body} | 
Redeliverd: ${header.JMSRedelivered}")
                             .to("mock:test.redelivered.true." + i)
                         .otherwise()
                             .to("mock:test.after");

Modified: 
camel/trunk/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/TransactedConcurrentConsumersTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/TransactedConcurrentConsumersTest.java?rev=1391170&r1=1391169&r2=1391170&view=diff
==============================================================================
--- 
camel/trunk/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/TransactedConcurrentConsumersTest.java
 (original)
+++ 
camel/trunk/components/camel-sjms/src/test/java/org/apache/camel/component/sjms/tx/TransactedConcurrentConsumersTest.java
 Thu Sep 27 19:22:26 2012
@@ -34,8 +34,10 @@ import org.junit.Test;
 public class TransactedConcurrentConsumersTest extends CamelTestSupport {
 
     private static final int CONSUMER_COUNT = 2;
-    private static final int MAX_ATTEMPTS_COUNT = 50;
-    private static final int MESSAGE_COUNT = 100;
+    private static final int MAX_ATTEMPTS_COUNT = 10;
+    private static final int MESSAGE_COUNT = 20;
+    private static final int TOTAL_REDELIVERED_FALSE = 18;
+    private static final int TOTAL_REDELIVERED_TRUE = 2;
     private static final String BROKER_URI = 
"vm://tccTestBroker?broker.persistent=false&broker.useJmx=true";
 
     /**
@@ -45,12 +47,10 @@ public class TransactedConcurrentConsume
      */
     @Test
     public void testEndpointConfiguredBatchTransaction() throws Exception {
-        // We are set up for a failure to occur every 50 messages. Even with
-        // multiple consumers we should still only see 4 message failures
-        // over the course of 200 messages.
-        int transactedMsgs = MESSAGE_COUNT/MAX_ATTEMPTS_COUNT;
-        
getMockEndpoint("mock:test.redelivered.false").expectedMessageCount(MESSAGE_COUNT
 - transactedMsgs);
-        
getMockEndpoint("mock:test.redelivered.true").expectedMessageCount(transactedMsgs);
+        // We are set up for a failure to occur every 10 messages. We should 
see
+        // 2 message failures over the course of 20 messages.
+        
getMockEndpoint("mock:test.redelivered.false").expectedMessageCount(TOTAL_REDELIVERED_FALSE);
+        
getMockEndpoint("mock:test.redelivered.true").expectedMessageCount(TOTAL_REDELIVERED_TRUE);
 
         // We should never see a message appear in this endpoint or we
         // have problem with our JMS provider
@@ -62,8 +62,8 @@ public class TransactedConcurrentConsume
             template.sendBody("direct:start", message);
             log.trace("Sending message: {}", message);
         }
-        
-        assertMockEndpointsSatisfied(10, TimeUnit.SECONDS);
+        Thread.sleep(3000);
+        assertMockEndpointsSatisfied(5, TimeUnit.SECONDS);
 
     }
 
@@ -109,12 +109,6 @@ public class TransactedConcurrentConsume
                         .to("mock:test.redelivered.false")
                     // Now process again any messages that were redelivered
                     .when(header("JMSRedelivered").isEqualTo("true"))
-                        .process(new Processor() {
-                            @Override
-                            public void process(Exchange exchange) throws 
Exception {
-                                log.info("Retry processing attempt.  Continue 
processing the message.");
-                            }
-                        })
                         .log("2nd attempt Body: ${body} | Redeliverd: 
${header.JMSRedelivered}")
                         .to("mock:test.redelivered.true")
                     .otherwise()
@@ -122,4 +116,45 @@ public class TransactedConcurrentConsume
             }
         };
     }
+    
+//    private class RedeliveredProcessor implements Processor {
+//        private CountDownLatch latch;
+//        
+//        public RedeliveredProcessor(CountDownLatch latch) {
+//            super();
+//            this.latch = latch;
+//        }
+//
+//        @Override
+//        public void process(Exchange exchange) throws Exception {
+//            // TODO Auto-generated method stub
+//            
+//        }
+//        
+//    }
+//    
+//    private class NotRedeliveredProcessor implements Processor {
+//        private final AtomicInteger counter = new AtomicInteger(0);
+//        private final AtomicInteger total = new AtomicInteger(0);
+//        private CountDownLatch latch;
+//        
+//        public NotRedeliveredProcessor(CountDownLatch latch) {
+//            super();
+//            this.latch = latch;
+//        }
+//
+//        @Override
+//        public void process(Exchange exchange) throws Exception {
+//            int count = counter.incrementAndGet();
+//            if (count == MAX_ATTEMPTS_COUNT) {
+//                log.info("{} Messages have been processed. Failing the 
exchange to force a rollback of the transaction.", MAX_ATTEMPTS_COUNT);
+//                exchange.getOut().setFault(true);
+//                counter.set(0);
+//            }
+//            if(total.incrementAndGet() == TOTAL_REDELIVERED_FALSE) {
+//                cdl.countDown();
+//            }
+//        }
+//        
+//    }
 }


Reply via email to