Author: coheigea
Date: Thu May 10 13:31:33 2012
New Revision: 1336676
URL: http://svn.apache.org/viewvc?rev=1336676&view=rev
Log:
Merged revisions 1336666 via git cherry-pick from
https://svn.apache.org/repos/asf/cxf/branches/2.5.x-fixes
........
r1336666 | coheigea | 2012-05-10 14:19:39 +0100 (Thu, 10 May 2012) | 7 lines
[CXF-4294] - Fix for race condition in EhCache stores
Conflicts:
rt/ws/security/src/main/java/org/apache/cxf/ws/security/tokenstore/EHCacheTokenStore.java
........
Modified:
cxf/branches/2.4.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/cache/EHCacheReplayCache.java
Modified:
cxf/branches/2.4.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/cache/EHCacheReplayCache.java
URL:
http://svn.apache.org/viewvc/cxf/branches/2.4.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/cache/EHCacheReplayCache.java?rev=1336676&r1=1336675&r2=1336676&view=diff
==============================================================================
---
cxf/branches/2.4.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/cache/EHCacheReplayCache.java
(original)
+++
cxf/branches/2.4.x-fixes/rt/ws/security/src/main/java/org/apache/cxf/ws/security/cache/EHCacheReplayCache.java
Thu May 10 13:31:33 2012
@@ -25,6 +25,7 @@ import java.net.URL;
import net.sf.ehcache.Cache;
import net.sf.ehcache.CacheManager;
+import net.sf.ehcache.Ehcache;
import net.sf.ehcache.Element;
import org.apache.ws.security.cache.ReplayCache;
@@ -37,18 +38,15 @@ public class EHCacheReplayCache implemen
public static final long DEFAULT_TTL = 3600L;
public static final long MAX_TTL = DEFAULT_TTL * 12L;
- private Cache cache;
+ private Ehcache cache;
private CacheManager cacheManager;
private long ttl = DEFAULT_TTL;
public EHCacheReplayCache(String key, URL configFileURL) {
cacheManager = EHCacheManagerHolder.getCacheManager(configFileURL);
- if (!cacheManager.cacheExists(key)) {
- cache = new Cache(key, 50000, true, false, DEFAULT_TTL,
DEFAULT_TTL);
- cacheManager.addCache(cache);
- } else {
- cache = cacheManager.getCache(key);
- }
+
+ Ehcache newCache = new Cache(key, 50000, true, false, DEFAULT_TTL,
DEFAULT_TTL);
+ cache = cacheManager.addCacheIfAbsent(newCache);
}
/**