You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2015/06/25 17:16:33 UTC
camel git commit: CAMEL-8903 Camel-Infinispan: Add ClearAsync
operation to producer
Repository: camel
Updated Branches:
refs/heads/master bc1c33149 -> 9d0a01ede
CAMEL-8903 Camel-Infinispan: Add ClearAsync operation to producer
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/9d0a01ed
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/9d0a01ed
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/9d0a01ed
Branch: refs/heads/master
Commit: 9d0a01edecab475fdd663d1e173683c73df08ddb
Parents: bc1c331
Author: Andrea Cosentino <an...@gmail.com>
Authored: Thu Jun 25 10:50:45 2015 +0200
Committer: Andrea Cosentino <an...@gmail.com>
Committed: Thu Jun 25 17:12:21 2015 +0200
----------------------------------------------------------------------
.../infinispan/InfinispanConstants.java | 1 +
.../infinispan/InfinispanOperation.java | 7 +++++++
.../infinispan/InfinispanProducerTest.java | 21 ++++++++++++++++++++
3 files changed, 29 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/9d0a01ed/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanConstants.java
----------------------------------------------------------------------
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanConstants.java b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanConstants.java
index 2dfe003..9b82bc5 100644
--- a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanConstants.java
+++ b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanConstants.java
@@ -39,6 +39,7 @@ public interface InfinispanConstants {
String REPLACE = "CamelInfinispanOperationReplace";
String REPLACE_ASYNC = "CamelInfinispanOperationReplaceAsync";
String CLEAR = "CamelInfinispanOperationClear";
+ String CLEAR_ASYNC = "CamelInfinispanOperationClearAsync";
String SIZE = "CamelInfinispanOperationSize";
String RESULT = "CamelInfinispanOperationResult";
String LIFESPAN_TIME = "CamelInfinispanLifespanTime";
http://git-wip-us.apache.org/repos/asf/camel/blob/9d0a01ed/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanOperation.java
----------------------------------------------------------------------
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanOperation.java b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanOperation.java
index 14fd363..4d37c9a 100644
--- a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanOperation.java
+++ b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanOperation.java
@@ -288,6 +288,13 @@ public class InfinispanOperation {
void execute(BasicCache<Object, Object> cache, Exchange exchange) {
cache.clear();
}
+ }, CLEARASYNC {
+ @Override
+ void execute(BasicCache<Object, Object> cache, Exchange exchange) {
+ NotifyingFuture result;
+ result = cache.clearAsync();
+ setResult(result, exchange);
+ }
};
void setResult(Object result, Exchange exchange) {
http://git-wip-us.apache.org/repos/asf/camel/blob/9d0a01ed/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanProducerTest.java
----------------------------------------------------------------------
diff --git a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanProducerTest.java b/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanProducerTest.java
index 8993fdd..61fd0fa 100644
--- a/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanProducerTest.java
+++ b/components/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/InfinispanProducerTest.java
@@ -1064,6 +1064,25 @@ public class InfinispanProducerTest extends InfinispanTestSupport {
});
assertTrue(currentCache().isEmpty());
}
+
+ @Test
+ public void clearAsyncTest() throws Exception {
+ currentCache().put(KEY_ONE, VALUE_ONE);
+ currentCache().put(KEY_TWO, VALUE_TWO);
+
+ Exchange exchange = template.request("direct:clearasync", new Processor() {
+ @Override
+ public void process(Exchange exchange) throws Exception {
+ exchange.getIn().setHeader(InfinispanConstants.OPERATION, InfinispanConstants.CLEAR_ASYNC);
+ }
+ });
+
+ Thread.sleep(100);
+ NotifyingFuture fut = exchange.getIn().getHeader(InfinispanConstants.RESULT, NotifyingFuture.class);
+ assertEquals(fut.isDone(), Boolean.TRUE);
+
+ assertTrue(currentCache().isEmpty());
+ }
@Override
protected RouteBuilder createRouteBuilder() throws Exception {
@@ -1100,6 +1119,8 @@ public class InfinispanProducerTest extends InfinispanTestSupport {
.to("infinispan://localhost?cacheContainer=#cacheContainer&command=REPLACEASYNC");
from("direct:removeasync")
.to("infinispan://localhost?cacheContainer=#cacheContainer&command=REMOVEASYNC");
+ from("direct:clearasync")
+ .to("infinispan://localhost?cacheContainer=#cacheContainer&command=CLEARASYNC");
}
};
}