You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ni...@apache.org on 2012/09/04 03:17:18 UTC

svn commit: r1380418 - in /camel/branches/camel-2.10.x: ./ components/camel-hazelcast/src/main/java/org/apache/camel/processor/idempotent/hazelcast/HazelcastIdempotentRepository.java

Author: ningjiang
Date: Tue Sep  4 01:17:18 2012
New Revision: 1380418

URL: http://svn.apache.org/viewvc?rev=1380418&view=rev
Log:
Merged revisions 1380157 via svnmerge from 
https://svn.apache.org/repos/asf/camel/trunk

........
  r1380157 | ningjiang | 2012-09-03 15:54:01 +0800 (Mon, 03 Sep 2012) | 1 line
  
  CAMEL-5556 fixed the thread issue of camel-hazelcast
........

Modified:
    camel/branches/camel-2.10.x/   (props changed)
    camel/branches/camel-2.10.x/components/camel-hazelcast/src/main/java/org/apache/camel/processor/idempotent/hazelcast/HazelcastIdempotentRepository.java

Propchange: camel/branches/camel-2.10.x/
------------------------------------------------------------------------------
  Merged /camel/trunk:r1380157

Propchange: camel/branches/camel-2.10.x/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: camel/branches/camel-2.10.x/components/camel-hazelcast/src/main/java/org/apache/camel/processor/idempotent/hazelcast/HazelcastIdempotentRepository.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.10.x/components/camel-hazelcast/src/main/java/org/apache/camel/processor/idempotent/hazelcast/HazelcastIdempotentRepository.java?rev=1380418&r1=1380417&r2=1380418&view=diff
==============================================================================
--- camel/branches/camel-2.10.x/components/camel-hazelcast/src/main/java/org/apache/camel/processor/idempotent/hazelcast/HazelcastIdempotentRepository.java (original)
+++ camel/branches/camel-2.10.x/components/camel-hazelcast/src/main/java/org/apache/camel/processor/idempotent/hazelcast/HazelcastIdempotentRepository.java Tue Sep  4 01:17:18 2012
@@ -24,7 +24,7 @@ import org.apache.camel.support.ServiceS
 public class HazelcastIdempotentRepository extends ServiceSupport implements IdempotentRepository<String> {
 
     private String repositoryName;
-    private IMap<String, Object> repo;
+    private IMap<String, Boolean> repo;
     private HazelcastInstance hazelcastInstance;
     
     public HazelcastIdempotentRepository(HazelcastInstance hazelcastInstance) {
@@ -48,22 +48,21 @@ public class HazelcastIdempotentReposito
 
     @Override
     public boolean add(String key) {
-        if (this.contains(key)) {
-            return false;
-        } else {
-            this.repo.put(key, false);
-            return true;
+
+        Boolean found = this.repo.get(key);
+        if (found == null) {
+            Boolean returned = this.repo.putIfAbsent(key, false);
+            if (returned == null) {
+                return true;
+            }
         }
+        return false;
+
     }
 
     @Override
     public boolean confirm(String key) {
-        if (this.contains(key)) {
-            this.repo.put(key, true);
-            return true;
-        } else {
-            return false;
-        }
+        return this.repo.replace(key, false, true);
     }
 
     @Override