Author: davsclaus
Date: Mon Mar 1 17:12:51 2010
New Revision: 917596
URL: http://svn.apache.org/viewvc?rev=917596&view=rev
Log:
CAMEL-217: Added option to return old exchange on add if really needed.
Modified:
camel/trunk/components/camel-hawtdb/src/main/java/org/apache/camel/component/hawtdb/HawtDBAggregationRepository.java
camel/trunk/components/camel-hawtdb/src/test/java/org/apache/camel/component/hawtdb/HawtDBAggregationRepositoryLoadExistingTest.java
camel/trunk/components/camel-hawtdb/src/test/java/org/apache/camel/component/hawtdb/HawtDBAggregationRepositoryMultipleRepoTest.java
camel/trunk/components/camel-hawtdb/src/test/java/org/apache/camel/component/hawtdb/HawtDBAggregationRepositoryTest.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=917596&r1=917595&r2=917596&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
Mon Mar 1 17:12:51 2010
@@ -48,6 +48,7 @@
private String persistentFileName;
private String repositoryName;
private boolean sync;
+ private boolean returnOldExchange;
private Marshaller<K> keyMarshaller = new ObjectMarshaller<K>();
private Marshaller<DefaultExchangeHolder> exchangeMarshaller = new
ObjectMarshaller<DefaultExchangeHolder>();
@@ -116,8 +117,11 @@
if (rc == null) {
return null;
}
- // we can improve performance by not returning the old when adding
- // return unmarshallExchange(camelContext, rc);
+
+ // only return old exchange if enabled
+ if (isReturnOldExchange()) {
+ return unmarshallExchange(camelContext, rc);
+ }
} catch (IOException e) {
throw new RuntimeException("Error adding to repository " +
repositoryName + " with key " + key, e);
}
@@ -234,6 +238,14 @@
this.sync = sync;
}
+ public boolean isReturnOldExchange() {
+ return returnOldExchange;
+ }
+
+ public void setReturnOldExchange(boolean returnOldExchange) {
+ this.returnOldExchange = returnOldExchange;
+ }
+
@Override
protected void doStart() throws Exception {
// either we have a HawtDB configured or we use a provided fileName
Modified:
camel/trunk/components/camel-hawtdb/src/test/java/org/apache/camel/component/hawtdb/HawtDBAggregationRepositoryLoadExistingTest.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-hawtdb/src/test/java/org/apache/camel/component/hawtdb/HawtDBAggregationRepositoryLoadExistingTest.java?rev=917596&r1=917595&r2=917596&view=diff
==============================================================================
---
camel/trunk/components/camel-hawtdb/src/test/java/org/apache/camel/component/hawtdb/HawtDBAggregationRepositoryLoadExistingTest.java
(original)
+++
camel/trunk/components/camel-hawtdb/src/test/java/org/apache/camel/component/hawtdb/HawtDBAggregationRepositoryLoadExistingTest.java
Mon Mar 1 17:12:51 2010
@@ -48,6 +48,7 @@
HawtDBAggregationRepository<String> repo = new
HawtDBAggregationRepository<String>();
repo.setHawtDBFile(hawtDBFile);
repo.setRepositoryName("repo1");
+ repo.setReturnOldExchange(true);
// Store it..
Exchange exchange1 = new DefaultExchange(context);
Modified:
camel/trunk/components/camel-hawtdb/src/test/java/org/apache/camel/component/hawtdb/HawtDBAggregationRepositoryMultipleRepoTest.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-hawtdb/src/test/java/org/apache/camel/component/hawtdb/HawtDBAggregationRepositoryMultipleRepoTest.java?rev=917596&r1=917595&r2=917596&view=diff
==============================================================================
---
camel/trunk/components/camel-hawtdb/src/test/java/org/apache/camel/component/hawtdb/HawtDBAggregationRepositoryMultipleRepoTest.java
(original)
+++
camel/trunk/components/camel-hawtdb/src/test/java/org/apache/camel/component/hawtdb/HawtDBAggregationRepositoryMultipleRepoTest.java
Mon Mar 1 17:12:51 2010
@@ -48,10 +48,12 @@
HawtDBAggregationRepository<String> repo1 = new
HawtDBAggregationRepository<String>();
repo1.setHawtDBFile(hawtDBFile);
repo1.setRepositoryName("repo1");
+ repo1.setReturnOldExchange(true);
HawtDBAggregationRepository<String> repo2 = new
HawtDBAggregationRepository<String>();
repo2.setHawtDBFile(hawtDBFile);
repo2.setRepositoryName("repo2");
+ repo2.setReturnOldExchange(true);
// Can't get something we have not put in...
Exchange actual = repo1.get(context, "missing");
Modified:
camel/trunk/components/camel-hawtdb/src/test/java/org/apache/camel/component/hawtdb/HawtDBAggregationRepositoryTest.java
URL:
http://svn.apache.org/viewvc/camel/trunk/components/camel-hawtdb/src/test/java/org/apache/camel/component/hawtdb/HawtDBAggregationRepositoryTest.java?rev=917596&r1=917595&r2=917596&view=diff
==============================================================================
---
camel/trunk/components/camel-hawtdb/src/test/java/org/apache/camel/component/hawtdb/HawtDBAggregationRepositoryTest.java
(original)
+++
camel/trunk/components/camel-hawtdb/src/test/java/org/apache/camel/component/hawtdb/HawtDBAggregationRepositoryTest.java
Mon Mar 1 17:12:51 2010
@@ -48,6 +48,7 @@
HawtDBAggregationRepository<String> repo = new
HawtDBAggregationRepository<String>();
repo.setHawtDBFile(hawtDBFile);
repo.setRepositoryName("repo1");
+ repo.setReturnOldExchange(true);
// Can't get something we have not put in...
Exchange actual = repo.get(context, "missing");