Author: davsclaus
Date: Tue Mar  2 10:34:09 2010
New Revision: 917948

URL: http://svn.apache.org/viewvc?rev=917948&view=rev
Log:
CAMEL-217: Added trace logging for repo activity

Added:
    
camel/trunk/components/camel-hawtdb/src/test/java/org/apache/camel/component/hawtdb/HawtDBAggregateLoadConcurrentTest.java
      - copied, changed from r917903, 
camel/trunk/components/camel-hawtdb/src/test/java/org/apache/camel/component/hawtdb/HawtDBAggregateLoadTest.java
Modified:
    
camel/trunk/components/camel-hawtdb/src/main/java/org/apache/camel/component/hawtdb/HawtDBAggregationRepository.java
    
camel/trunk/components/camel-hawtdb/src/main/java/org/apache/camel/component/hawtdb/HawtDBFile.java
    
camel/trunk/components/camel-hawtdb/src/test/java/org/apache/camel/component/hawtdb/HawtDBAggregateLoadTest.java

Modified: 
camel/trunk/components/camel-hawtdb/src/main/java/org/apache/camel/component/hawtdb/HawtDBAggregationRepository.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-hawtdb/src/main/java/org/apache/camel/component/hawtdb/HawtDBAggregationRepository.java?rev=917948&r1=917947&r2=917948&view=diff
==============================================================================
--- 
camel/trunk/components/camel-hawtdb/src/main/java/org/apache/camel/component/hawtdb/HawtDBAggregationRepository.java
 (original)
+++ 
camel/trunk/components/camel-hawtdb/src/main/java/org/apache/camel/component/hawtdb/HawtDBAggregationRepository.java
 Tue Mar  2 10:34:09 2010
@@ -96,7 +96,7 @@
         this.repositoryName = repositoryName;
     }
 
-    public Exchange add(CamelContext camelContext, K key, Exchange exchange) {
+    public Exchange add(CamelContext camelContext, final K key, Exchange 
exchange) {
         if (LOG.isDebugEnabled()) {
             LOG.debug("Adding key   [" + key + "] -> " + exchange);
         }
@@ -113,6 +113,11 @@
                     Index<Buffer, Buffer> index = 
hawtDBFile.getRepositoryIndex(tx, repositoryName);
                     return index.put(keyBuffer, exchangeBuffer);
                 }
+
+                @Override
+                public String toString() {
+                    return "Adding key [" + key + "]";
+                }
             });
             if (rc == null) {
                 return null;
@@ -130,7 +135,7 @@
     }
 
 
-    public Exchange get(CamelContext camelContext, K key) {
+    public Exchange get(CamelContext camelContext, final K key) {
         Exchange answer = null;
         try {
             final Buffer keyBuffer = marshallKey(key);
@@ -139,6 +144,11 @@
                     Index<Buffer, Buffer> index = 
hawtDBFile.getRepositoryIndex(tx, repositoryName);
                     return index.get(keyBuffer);
                 }
+
+                @Override
+                public String toString() {
+                    return "Getting key [" + key + "]";
+                }
             });
             if (rc != null) {
                 answer = unmarshallExchange(camelContext, rc);
@@ -153,7 +163,7 @@
         return answer;
     }
 
-    public void remove(CamelContext camelContext, K key) {
+    public void remove(CamelContext camelContext, final K key) {
         if (LOG.isDebugEnabled()) {
             LOG.debug("Removing key [" + key + "]");
         }
@@ -164,6 +174,11 @@
                     Index<Buffer, Buffer> index = 
hawtDBFile.getRepositoryIndex(tx, repositoryName);
                     return index.remove(keyBuffer);
                 }
+
+                @Override
+                public String toString() {
+                    return "Removing key [" + key + "]";
+                }
             });
         } catch (IOException e) {
             throw new RuntimeException("Error removing key " + key + " from 
repository " + repositoryName, e);

Modified: 
camel/trunk/components/camel-hawtdb/src/main/java/org/apache/camel/component/hawtdb/HawtDBFile.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-hawtdb/src/main/java/org/apache/camel/component/hawtdb/HawtDBFile.java?rev=917948&r1=917947&r2=917948&view=diff
==============================================================================
--- 
camel/trunk/components/camel-hawtdb/src/main/java/org/apache/camel/component/hawtdb/HawtDBFile.java
 (original)
+++ 
camel/trunk/components/camel-hawtdb/src/main/java/org/apache/camel/component/hawtdb/HawtDBFile.java
 Tue Mar  2 10:34:09 2010
@@ -101,24 +101,29 @@
 
     public <T> T execute(Work<T> work) {
         if (LOG.isTraceEnabled()) {
-            LOG.trace("Executing work " + work);
+            LOG.trace("Executing work +++ start +++ " + work);
         }
 
+        T answer;
         Transaction tx = pageFile.tx();
         try {
-            T rc = work.execute(tx);
+            answer = work.execute(tx);
             tx.commit();
-            return rc;
         } catch (RuntimeException e) {
-            if (LOG.isTraceEnabled()) {
-                LOG.trace("Error executing work " + work + " will do 
rollback", e);
-            }
+            LOG.warn("Error executing work " + work + " will do rollback.", e);
             tx.rollback();
             throw e;
         }
+
+        if (LOG.isTraceEnabled()) {
+            LOG.trace("Executing work +++ done  +++ " + work);
+        }
+        return answer;
     }
 
     public Index<Buffer, Buffer> getRepositoryIndex(Transaction tx, String 
name) {
+        Index<Buffer, Buffer> answer;
+
         Index<String, Integer> indexes = ROOT_INDEXES_FACTORY.open(tx, 0);
         Integer location = indexes.get(name);
 
@@ -134,13 +139,18 @@
                 LOG.debug("Created new repository index with name " + name + " 
at location " + page);
             }
 
-            return created;
+            answer = created;
         } else {
             if (LOG.isTraceEnabled()) {
                 LOG.trace("Repository index with name " + name + " at location 
" + location);
             }
-            return INDEX_FACTORY.open(tx, location);
+            answer = INDEX_FACTORY.open(tx, location);
+        }
+
+        if (LOG.isTraceEnabled()) {
+            LOG.trace("Repository index with name " + name + " -> " + answer);
         }
+        return answer;
     }
 
 }

Copied: 
camel/trunk/components/camel-hawtdb/src/test/java/org/apache/camel/component/hawtdb/HawtDBAggregateLoadConcurrentTest.java
 (from r917903, 
camel/trunk/components/camel-hawtdb/src/test/java/org/apache/camel/component/hawtdb/HawtDBAggregateLoadTest.java)
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-hawtdb/src/test/java/org/apache/camel/component/hawtdb/HawtDBAggregateLoadConcurrentTest.java?p2=camel/trunk/components/camel-hawtdb/src/test/java/org/apache/camel/component/hawtdb/HawtDBAggregateLoadConcurrentTest.java&p1=camel/trunk/components/camel-hawtdb/src/test/java/org/apache/camel/component/hawtdb/HawtDBAggregateLoadTest.java&r1=917903&r2=917948&rev=917948&view=diff
==============================================================================
--- 
camel/trunk/components/camel-hawtdb/src/test/java/org/apache/camel/component/hawtdb/HawtDBAggregateLoadTest.java
 (original)
+++ 
camel/trunk/components/camel-hawtdb/src/test/java/org/apache/camel/component/hawtdb/HawtDBAggregateLoadConcurrentTest.java
 Tue Mar  2 10:34:09 2010
@@ -29,7 +29,7 @@
 import org.junit.Ignore;
 import org.junit.Test;
 
-public class HawtDBAggregateLoadTest extends CamelTestSupport {
+public class HawtDBAggregateLoadConcurrentTest extends CamelTestSupport {
 
     private static final char[] KEYS = new char[]{'A', 'B', 'C', 'D', 'E', 
'F', 'G', 'H', 'I', 'J'};
     private static final int SIZE = 5000;

Modified: 
camel/trunk/components/camel-hawtdb/src/test/java/org/apache/camel/component/hawtdb/HawtDBAggregateLoadTest.java
URL: 
http://svn.apache.org/viewvc/camel/trunk/components/camel-hawtdb/src/test/java/org/apache/camel/component/hawtdb/HawtDBAggregateLoadTest.java?rev=917948&r1=917947&r2=917948&view=diff
==============================================================================
--- 
camel/trunk/components/camel-hawtdb/src/test/java/org/apache/camel/component/hawtdb/HawtDBAggregateLoadTest.java
 (original)
+++ 
camel/trunk/components/camel-hawtdb/src/test/java/org/apache/camel/component/hawtdb/HawtDBAggregateLoadTest.java
 Tue Mar  2 10:34:09 2010
@@ -16,10 +16,6 @@
  */
 package org.apache.camel.component.hawtdb;
 
-import java.util.concurrent.Callable;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-
 import org.apache.camel.Exchange;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
@@ -31,7 +27,6 @@
 
 public class HawtDBAggregateLoadTest extends CamelTestSupport {
 
-    private static final char[] KEYS = new char[]{'A', 'B', 'C', 'D', 'E', 
'F', 'G', 'H', 'I', 'J'};
     private static final int SIZE = 5000;
 
     @Before
@@ -45,23 +40,15 @@
     @Ignore
     public void testLoadTestHawtDBAggregate() throws Exception {
         MockEndpoint mock = getMockEndpoint("mock:result");
-        mock.expectedMinimumMessageCount(10);
+        mock.expectedMinimumMessageCount(1);
         mock.setResultWaitTime(60 * 60 * 1000);
 
-        ExecutorService executor = Executors.newFixedThreadPool(10);
-
         System.out.println("Staring to send " + SIZE + " messages.");
 
         for (int i = 0; i < SIZE; i++) {
             final int value = 1;
-            final int key = i % 10;
-            executor.submit(new Callable<Object>() {
-                public Object call() throws Exception {
-                    char id = KEYS[key];
-                    template.sendBodyAndHeader("seda:start?size=" + SIZE, 
value, "id", "" + id);
-                    return null;
-                }
-            });
+            char id = 'A';
+            template.sendBodyAndHeader("seda:start?size=" + SIZE, value, "id", 
"" + id);
         }
 
         System.out.println("Sending all " + SIZE + " message done. Now waiting 
for aggregation to complete.");
@@ -75,12 +62,13 @@
             @Override
             public void configure() throws Exception {
                 HawtDBAggregationRepository<String> repo = new 
HawtDBAggregationRepository<String>("repo1", "target/data/hawtdb.dat");
+                repo.setSync(true);
 
                 from("seda:start?size=" + SIZE)
                     .to("log:input?groupSize=500")
                     .aggregate(header("id"), new MyAggregationStrategy())
                         .aggregationRepository(repo)
-                        .completionSize(SIZE / 10)
+                        .completionSize(SIZE)
                         .to("log:output?showHeaders=true")
                         .to("mock:result")
                     .end();
@@ -103,4 +91,5 @@
             return oldExchange;
         }
     }
+
 }
\ No newline at end of file


Reply via email to