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 2016/02/19 09:34:32 UTC
[1/2] camel git commit: CAMEL-9620 Infinispan: Support
IGNORE_RETURN_VALUES for Put/Remove/Replace operations
Repository: camel
Updated Branches:
refs/heads/master 9b93ea51a -> 08665fecd
CAMEL-9620 Infinispan: Support IGNORE_RETURN_VALUES for Put/Remove/Replace operations
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/5ae721c0
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/5ae721c0
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/5ae721c0
Branch: refs/heads/master
Commit: 5ae721c0c2846b1b5c45da22a2ade5b9185fd55e
Parents: 9b93ea5
Author: Tristan Tarrant <tt...@redhat.com>
Authored: Thu Feb 18 19:51:59 2016 +0100
Committer: Andrea Cosentino <an...@gmail.com>
Committed: Fri Feb 19 09:17:58 2016 +0100
----------------------------------------------------------------------
components/camel-infinispan/pom.xml | 4 +-
.../infinispan/InfinispanConstants.java | 3 +-
.../infinispan/InfinispanOperation.java | 46 ++++++++++---
.../component/infinispan/InfinispanUtil.java | 71 ++++++++++++++++++++
4 files changed, 110 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/5ae721c0/components/camel-infinispan/pom.xml
----------------------------------------------------------------------
diff --git a/components/camel-infinispan/pom.xml b/components/camel-infinispan/pom.xml
index 96c1631..c6e4c07 100644
--- a/components/camel-infinispan/pom.xml
+++ b/components/camel-infinispan/pom.xml
@@ -42,12 +42,12 @@
</dependency>
<dependency>
<groupId>org.infinispan</groupId>
- <artifactId>infinispan-core</artifactId>
+ <artifactId>infinispan-embedded</artifactId>
<version>${infinispan-version}</version>
</dependency>
<dependency>
<groupId>org.infinispan</groupId>
- <artifactId>infinispan-client-hotrod</artifactId>
+ <artifactId>infinispan-remote</artifactId>
<version>${infinispan-version}</version>
</dependency>
http://git-wip-us.apache.org/repos/asf/camel/blob/5ae721c0/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 9b82bc5..a6ae8a5 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
@@ -23,7 +23,7 @@ public interface InfinispanConstants {
String KEY = "CamelInfinispanKey";
String VALUE = "CamelInfinispanValue";
String OLD_VALUE = "CamelInfinispanOldValue";
- String MAP = "CamelInfinispanMap";
+ String MAP = "CamelInfinispanMap";
String OPERATION = "CamelInfinispanOperation";
String PUT = "CamelInfinispanOperationPut";
String PUT_ASYNC = "CamelInfinispanOperationPutAsync";
@@ -46,4 +46,5 @@ public interface InfinispanConstants {
String LIFESPAN_TIME_UNIT = "CamelInfinispanTimeUnit";
String MAX_IDLE_TIME = "CamelInfinispanMaxIdleTime";
String MAX_IDLE_TIME_UNIT = "CamelInfinispanMaxIdleTimeUnit";
+ String IGNORE_RETURN_VALUES = "CamelInfinispanIgnoreReturnValues";
}
http://git-wip-us.apache.org/repos/asf/camel/blob/5ae721c0/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 69eb3e8..f4f7184 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
@@ -55,10 +55,13 @@ public final class InfinispanOperation {
@Override
void execute(BasicCache<Object, Object> cache, Exchange exchange) {
Object result;
+ if (!ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.IGNORE_RETURN_VALUES))) {
+ cache = InfinispanUtil.ignoreReturnValuesCache(cache);
+ }
if (!ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.LIFESPAN_TIME)) && !ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT))) {
long lifespan = exchange.getIn().getHeader(InfinispanConstants.LIFESPAN_TIME, long.class);
String timeUnit = exchange.getIn().getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT, String.class);
- if (!ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.MAX_IDLE_TIME))
+ if (!ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.MAX_IDLE_TIME))
&& !ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT))) {
long maxIdle = exchange.getIn().getHeader(InfinispanConstants.MAX_IDLE_TIME, long.class);
String maxIdleTimeUnit = exchange.getIn().getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT, String.class);
@@ -75,10 +78,13 @@ public final class InfinispanOperation {
@Override
void execute(BasicCache<Object, Object> cache, Exchange exchange) {
NotifyingFuture result;
+ if (!ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.IGNORE_RETURN_VALUES))) {
+ cache = InfinispanUtil.ignoreReturnValuesCache(cache);
+ }
if (!ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.LIFESPAN_TIME)) && !ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT))) {
long lifespan = exchange.getIn().getHeader(InfinispanConstants.LIFESPAN_TIME, long.class);
String timeUnit = exchange.getIn().getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT, String.class);
- if (!ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.MAX_IDLE_TIME))
+ if (!ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.MAX_IDLE_TIME))
&& !ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT))) {
long maxIdle = exchange.getIn().getHeader(InfinispanConstants.MAX_IDLE_TIME, long.class);
String maxIdleTimeUnit = exchange.getIn().getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT, String.class);
@@ -97,7 +103,7 @@ public final class InfinispanOperation {
if (!ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.LIFESPAN_TIME)) && !ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT))) {
long lifespan = exchange.getIn().getHeader(InfinispanConstants.LIFESPAN_TIME, long.class);
String timeUnit = exchange.getIn().getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT, String.class);
- if (!ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.MAX_IDLE_TIME))
+ if (!ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.MAX_IDLE_TIME))
&& !ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT))) {
long maxIdle = exchange.getIn().getHeader(InfinispanConstants.MAX_IDLE_TIME, long.class);
String maxIdleTimeUnit = exchange.getIn().getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT, String.class);
@@ -116,7 +122,7 @@ public final class InfinispanOperation {
if (!ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.LIFESPAN_TIME)) && !ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT))) {
long lifespan = exchange.getIn().getHeader(InfinispanConstants.LIFESPAN_TIME, long.class);
String timeUnit = exchange.getIn().getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT, String.class);
- if (!ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.MAX_IDLE_TIME))
+ if (!ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.MAX_IDLE_TIME))
&& !ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT))) {
long maxIdle = exchange.getIn().getHeader(InfinispanConstants.MAX_IDLE_TIME, long.class);
String maxIdleTimeUnit = exchange.getIn().getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT, String.class);
@@ -133,10 +139,13 @@ public final class InfinispanOperation {
@Override
void execute(BasicCache<Object, Object> cache, Exchange exchange) {
Object result;
+ if (!ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.IGNORE_RETURN_VALUES))) {
+ cache = InfinispanUtil.ignoreReturnValuesCache(cache);
+ }
if (!ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.LIFESPAN_TIME)) && !ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT))) {
long lifespan = exchange.getIn().getHeader(InfinispanConstants.LIFESPAN_TIME, long.class);
String timeUnit = exchange.getIn().getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT, String.class);
- if (!ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.MAX_IDLE_TIME))
+ if (!ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.MAX_IDLE_TIME))
&& !ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT))) {
long maxIdle = exchange.getIn().getHeader(InfinispanConstants.MAX_IDLE_TIME, long.class);
String maxIdleTimeUnit = exchange.getIn().getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT, String.class);
@@ -153,10 +162,13 @@ public final class InfinispanOperation {
@Override
void execute(BasicCache<Object, Object> cache, Exchange exchange) {
NotifyingFuture result;
+ if (!ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.IGNORE_RETURN_VALUES))) {
+ cache = InfinispanUtil.ignoreReturnValuesCache(cache);
+ }
if (!ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.LIFESPAN_TIME)) && !ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT))) {
long lifespan = exchange.getIn().getHeader(InfinispanConstants.LIFESPAN_TIME, long.class);
String timeUnit = exchange.getIn().getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT, String.class);
- if (!ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.MAX_IDLE_TIME))
+ if (!ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.MAX_IDLE_TIME))
&& !ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT))) {
long maxIdle = exchange.getIn().getHeader(InfinispanConstants.MAX_IDLE_TIME, long.class);
String maxIdleTimeUnit = exchange.getIn().getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT, String.class);
@@ -191,6 +203,9 @@ public final class InfinispanOperation {
@Override
void execute(BasicCache<Object, Object> cache, Exchange exchange) {
Object result;
+ if (!ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.IGNORE_RETURN_VALUES))) {
+ cache = InfinispanUtil.ignoreReturnValuesCache(cache);
+ }
if (ObjectHelper.isEmpty(getValue(exchange))) {
result = cache.remove(getKey(exchange));
} else {
@@ -202,6 +217,9 @@ public final class InfinispanOperation {
@Override
void execute(BasicCache<Object, Object> cache, Exchange exchange) {
NotifyingFuture result;
+ if (!ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.IGNORE_RETURN_VALUES))) {
+ cache = InfinispanUtil.ignoreReturnValuesCache(cache);
+ }
if (ObjectHelper.isEmpty(getValue(exchange))) {
result = cache.removeAsync(getKey(exchange));
} else {
@@ -213,10 +231,13 @@ public final class InfinispanOperation {
@Override
void execute(BasicCache<Object, Object> cache, Exchange exchange) {
Object result;
+ if (!ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.IGNORE_RETURN_VALUES))) {
+ cache = InfinispanUtil.ignoreReturnValuesCache(cache);
+ }
if (!ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.LIFESPAN_TIME)) && !ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT))) {
long lifespan = exchange.getIn().getHeader(InfinispanConstants.LIFESPAN_TIME, long.class);
String timeUnit = exchange.getIn().getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT, String.class);
- if (!ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.MAX_IDLE_TIME))
+ if (!ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.MAX_IDLE_TIME))
&& !ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT))) {
long maxIdle = exchange.getIn().getHeader(InfinispanConstants.MAX_IDLE_TIME, long.class);
String maxIdleTimeUnit = exchange.getIn().getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT, String.class);
@@ -224,7 +245,7 @@ public final class InfinispanOperation {
result = cache.replace(getKey(exchange), getValue(exchange), lifespan, TimeUnit.valueOf(timeUnit), maxIdle, TimeUnit.valueOf(maxIdleTimeUnit));
} else {
result = cache.replace(getKey(exchange), getOldValue(exchange), getValue(exchange), lifespan, TimeUnit.valueOf(timeUnit), maxIdle, TimeUnit.valueOf(maxIdleTimeUnit));
- }
+ }
} else {
if (ObjectHelper.isEmpty(getOldValue(exchange))) {
result = cache.replace(getKey(exchange), getValue(exchange), lifespan, TimeUnit.valueOf(timeUnit));
@@ -245,10 +266,13 @@ public final class InfinispanOperation {
@Override
void execute(BasicCache<Object, Object> cache, Exchange exchange) {
NotifyingFuture result;
+ if (!ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.IGNORE_RETURN_VALUES))) {
+ cache = InfinispanUtil.ignoreReturnValuesCache(cache);
+ }
if (!ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.LIFESPAN_TIME)) && !ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT))) {
long lifespan = exchange.getIn().getHeader(InfinispanConstants.LIFESPAN_TIME, long.class);
String timeUnit = exchange.getIn().getHeader(InfinispanConstants.LIFESPAN_TIME_UNIT, String.class);
- if (!ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.MAX_IDLE_TIME))
+ if (!ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.MAX_IDLE_TIME))
&& !ObjectHelper.isEmpty(exchange.getIn().getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT))) {
long maxIdle = exchange.getIn().getHeader(InfinispanConstants.MAX_IDLE_TIME, long.class);
String maxIdleTimeUnit = exchange.getIn().getHeader(InfinispanConstants.MAX_IDLE_TIME_UNIT, String.class);
@@ -304,11 +328,11 @@ public final class InfinispanOperation {
Object getValue(Exchange exchange) {
return exchange.getIn().getHeader(InfinispanConstants.VALUE);
}
-
+
Object getOldValue(Exchange exchange) {
return exchange.getIn().getHeader(InfinispanConstants.OLD_VALUE);
}
-
+
Map<? extends Object, ? extends Object> getMap(Exchange exchange) {
return (Map<? extends Object, ? extends Object>) exchange.getIn().getHeader(InfinispanConstants.MAP);
}
http://git-wip-us.apache.org/repos/asf/camel/blob/5ae721c0/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanUtil.java
----------------------------------------------------------------------
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanUtil.java b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanUtil.java
new file mode 100644
index 0000000..b0713da
--- /dev/null
+++ b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanUtil.java
@@ -0,0 +1,71 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * <p>
+ * http://www.apache.org/licenses/LICENSE-2.0
+ * <p>
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.infinispan;
+
+import org.infinispan.Cache;
+import org.infinispan.client.hotrod.RemoteCache;
+import org.infinispan.client.hotrod.RemoteCacheManager;
+import org.infinispan.commons.api.BasicCache;
+import org.infinispan.commons.api.BasicCacheContainer;
+import org.infinispan.context.Flag;
+import org.infinispan.manager.EmbeddedCacheManager;
+
+public class InfinispanUtil {
+ private InfinispanUtil() {
+ }
+
+ public static boolean isEmbedded(BasicCacheContainer container) {
+ try {
+ return container instanceof EmbeddedCacheManager;
+ } catch (Throwable e) {
+ return false;
+ }
+ }
+
+ public static <K, V> boolean isEmbedded(BasicCache<K, V> cache) {
+ try {
+ return cache instanceof Cache;
+ } catch (Throwable e) {
+ return false;
+ }
+ }
+
+ public static boolean isRemote(BasicCacheContainer container) {
+ try {
+ return container instanceof RemoteCacheManager;
+ } catch (Throwable e) {
+ return false;
+ }
+ }
+
+ public static <K, V> boolean isRemote(BasicCache<K, V> cache) {
+ try {
+ return cache instanceof RemoteCache;
+ } catch (Throwable e) {
+ return false;
+ }
+ }
+
+ public static <K, V> BasicCache<K, V> ignoreReturnValuesCache(BasicCache<K, V> cache) {
+ if (isEmbedded(cache)) {
+ return ((Cache<K, V>) cache).getAdvancedCache().withFlags(Flag.IGNORE_RETURN_VALUES);
+ } else {
+ return cache;
+ }
+ }
+
+}
[2/2] camel git commit: Fixed CS
Posted by ac...@apache.org.
Fixed CS
Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/08665fec
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/08665fec
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/08665fec
Branch: refs/heads/master
Commit: 08665fecde2010f1d4663b7988282bdd978841e8
Parents: 5ae721c
Author: Andrea Cosentino <an...@gmail.com>
Authored: Fri Feb 19 09:30:06 2016 +0100
Committer: Andrea Cosentino <an...@gmail.com>
Committed: Fri Feb 19 09:30:06 2016 +0100
----------------------------------------------------------------------
.../apache/camel/component/infinispan/InfinispanUtil.java | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/camel/blob/08665fec/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanUtil.java
----------------------------------------------------------------------
diff --git a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanUtil.java b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanUtil.java
index b0713da..20819ae 100644
--- a/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanUtil.java
+++ b/components/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/InfinispanUtil.java
@@ -5,9 +5,9 @@
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
- * <p>
- * http://www.apache.org/licenses/LICENSE-2.0
- * <p>
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -24,7 +24,7 @@ import org.infinispan.commons.api.BasicCacheContainer;
import org.infinispan.context.Flag;
import org.infinispan.manager.EmbeddedCacheManager;
-public class InfinispanUtil {
+public final class InfinispanUtil {
private InfinispanUtil() {
}