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