You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by li...@apache.org on 2010/08/19 08:38:47 UTC
svn commit: r987033 - in /shindig/trunk: ./ java/common/
java/common/src/main/java/org/apache/shindig/common/cache/
java/common/src/main/java/org/apache/shindig/common/cache/ehcache/
java/common/src/test/java/org/apache/shindig/common/cache/ java/commo...
Author: lindner
Date: Thu Aug 19 06:38:46 2010
New Revision: 987033
URL: http://svn.apache.org/viewvc?rev=987033&view=rev
Log:
ehcache 1.6.2->2.20, remove anonymous cache usage
Modified:
shindig/trunk/UPGRADING
shindig/trunk/java/common/pom.xml
shindig/trunk/java/common/src/main/java/org/apache/shindig/common/cache/CacheProvider.java
shindig/trunk/java/common/src/main/java/org/apache/shindig/common/cache/LruCacheProvider.java
shindig/trunk/java/common/src/main/java/org/apache/shindig/common/cache/ehcache/EhCacheCacheProvider.java
shindig/trunk/java/common/src/main/java/org/apache/shindig/common/cache/ehcache/EhConfiguredCache.java
shindig/trunk/java/common/src/test/java/org/apache/shindig/common/cache/LruCacheProviderTest.java
shindig/trunk/java/common/src/test/java/org/apache/shindig/common/cache/ehcache/EhCacheCacheProviderTest.java
shindig/trunk/pom.xml
Modified: shindig/trunk/UPGRADING
URL: http://svn.apache.org/viewvc/shindig/trunk/UPGRADING?rev=987033&r1=987032&r2=987033&view=diff
==============================================================================
--- shindig/trunk/UPGRADING (original)
+++ shindig/trunk/UPGRADING Thu Aug 19 06:38:46 2010
@@ -22,6 +22,7 @@ The default RPC endpoints used for json-
Too many to mention. Check the top-level pom.xml for all the new versions.
Here are some highlights:
+* slf4j dependencies are needed if you use the EhCache module See http://www.slf4j.org/manual.html
* guava replaces google-collections
* caja r3034 -> r4209
* guice 1.0->2.0
Modified: shindig/trunk/java/common/pom.xml
URL: http://svn.apache.org/viewvc/shindig/trunk/java/common/pom.xml?rev=987033&r1=987032&r2=987033&view=diff
==============================================================================
--- shindig/trunk/java/common/pom.xml (original)
+++ shindig/trunk/java/common/pom.xml Thu Aug 19 06:38:46 2010
@@ -147,7 +147,7 @@
</dependency>
<dependency>
<groupId>net.sf.ehcache</groupId>
- <artifactId>ehcache</artifactId>
+ <artifactId>ehcache-core</artifactId>
</dependency>
<dependency>
<groupId>de.odysseus.juel</groupId>
@@ -172,5 +172,11 @@
<artifactId>xmlParserAPIs</artifactId>
<scope>test</scope>
</dependency>
+ <!-- needed for ehcache's use of slf4j -->
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-jdk14</artifactId>
+ <scope>test</scope>
+ </dependency>
</dependencies>
</project>
Modified: shindig/trunk/java/common/src/main/java/org/apache/shindig/common/cache/CacheProvider.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/cache/CacheProvider.java?rev=987033&r1=987032&r2=987033&view=diff
==============================================================================
--- shindig/trunk/java/common/src/main/java/org/apache/shindig/common/cache/CacheProvider.java (original)
+++ shindig/trunk/java/common/src/main/java/org/apache/shindig/common/cache/CacheProvider.java Thu Aug 19 06:38:46 2010
@@ -28,7 +28,7 @@ public interface CacheProvider {
*
* @param <K> The Key type for the cache
* @param <V> The pay-load type
- * @param name The name of the cache.
+ * @param name The non-null name of the cache.
* @return A Cache configured to the required specification.
*/
<K, V> Cache<K, V> createCache(String name);
Modified: shindig/trunk/java/common/src/main/java/org/apache/shindig/common/cache/LruCacheProvider.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/cache/LruCacheProvider.java?rev=987033&r1=987032&r2=987033&view=diff
==============================================================================
--- shindig/trunk/java/common/src/main/java/org/apache/shindig/common/cache/LruCacheProvider.java (original)
+++ shindig/trunk/java/common/src/main/java/org/apache/shindig/common/cache/LruCacheProvider.java Thu Aug 19 06:38:46 2010
@@ -18,6 +18,7 @@
*/
package org.apache.shindig.common.cache;
+import com.google.common.base.Preconditions;
import com.google.common.collect.MapMaker;
import com.google.inject.ConfigurationException;
import com.google.inject.Inject;
@@ -83,22 +84,15 @@ public class LruCacheProvider implements
@SuppressWarnings("unchecked")
public <K, V> Cache<K, V> createCache(String name) {
- int capacity = getCapacity(name);
- if (name == null) {
+ int capacity = getCapacity(Preconditions.checkNotNull(name));
+ Cache<K, V> cache = (Cache<K, V>) caches.get(name);
+ if (cache == null) {
if (LOG.isLoggable(Level.FINE)) {
- LOG.fine("Creating anonymous cache");
+ LOG.fine("Creating cache named " + name);
}
- return new LruCache<K, V>(capacity);
- } else {
- Cache<K, V> cache = (Cache<K, V>) caches.get(name);
- if (cache == null) {
- if (LOG.isLoggable(Level.FINE)) {
- LOG.fine("Creating cache named " + name);
- }
- cache = new LruCache<K, V>(capacity);
- caches.put(name, cache);
- }
- return cache;
+ cache = new LruCache<K, V>(capacity);
+ caches.put(name, cache);
}
+ return cache;
}
}
Modified: shindig/trunk/java/common/src/main/java/org/apache/shindig/common/cache/ehcache/EhCacheCacheProvider.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/cache/ehcache/EhCacheCacheProvider.java?rev=987033&r1=987032&r2=987033&view=diff
==============================================================================
--- shindig/trunk/java/common/src/main/java/org/apache/shindig/common/cache/ehcache/EhCacheCacheProvider.java (original)
+++ shindig/trunk/java/common/src/main/java/org/apache/shindig/common/cache/ehcache/EhCacheCacheProvider.java Thu Aug 19 06:38:46 2010
@@ -18,6 +18,7 @@
*/
package org.apache.shindig.common.cache.ehcache;
+import com.google.common.base.Preconditions;
import org.apache.shindig.common.cache.Cache;
import org.apache.shindig.common.cache.CacheProvider;
import org.apache.shindig.common.util.ResourceLoader;
@@ -35,13 +36,14 @@ import java.io.IOException;
import java.io.InputStream;
import java.lang.management.ManagementFactory;
import java.util.Map;
+import java.util.concurrent.ConcurrentMap;
import java.util.logging.Level;
import java.util.logging.Logger;
public class EhCacheCacheProvider implements CacheProvider {
private static final Logger LOG = Logger.getLogger(EhCacheCacheProvider.class.getName());
private final CacheManager cacheManager;
- private final Map<String, Cache<?, ?>> caches = new MapMaker().makeMap();
+ private final ConcurrentMap<String, Cache<?, ?>> caches = new MapMaker().makeMap();
@Inject
public EhCacheCacheProvider(@Named("shindig.cache.ehcache.config") String configPath,
@@ -97,22 +99,12 @@ public class EhCacheCacheProvider implem
@SuppressWarnings("unchecked")
public <K, V> Cache<K, V> createCache(String name) {
- if (name == null) {
+ if (!caches.containsKey(Preconditions.checkNotNull(name))) {
if (LOG.isLoggable(Level.FINE)) {
- LOG.fine("Creating anonymous cache");
+ LOG.fine("Creating cache named " + name);
}
- return new EhConfiguredCache<K, V>(name, cacheManager);
- } else {
- Cache<K, V> cache = (Cache<K, V>) caches.get(name);
- if (cache == null) {
- if (LOG.isLoggable(Level.FINE)) {
- LOG.fine("Creating cache named " + name);
- }
- cache = new EhConfiguredCache<K, V>(name, cacheManager);
- caches.put(name, cache);
- }
- return cache;
+ caches.putIfAbsent(name, new EhConfiguredCache<K, V>(name, cacheManager));
}
+ return (Cache<K, V>) caches.get(Preconditions.checkNotNull(name));
}
-
}
Modified: shindig/trunk/java/common/src/main/java/org/apache/shindig/common/cache/ehcache/EhConfiguredCache.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/cache/ehcache/EhConfiguredCache.java?rev=987033&r1=987032&r2=987033&view=diff
==============================================================================
--- shindig/trunk/java/common/src/main/java/org/apache/shindig/common/cache/ehcache/EhConfiguredCache.java (original)
+++ shindig/trunk/java/common/src/main/java/org/apache/shindig/common/cache/ehcache/EhConfiguredCache.java Thu Aug 19 06:38:46 2010
@@ -18,6 +18,8 @@
*/
package org.apache.shindig.common.cache.ehcache;
+import com.google.common.base.Preconditions;
+import net.sf.ehcache.ObjectExistsException;
import org.apache.shindig.common.cache.Cache;
import net.sf.ehcache.CacheManager;
@@ -32,11 +34,8 @@ public class EhConfiguredCache<K, V> imp
private net.sf.ehcache.Cache cache;
public EhConfiguredCache(String cacheName, CacheManager cacheManager) {
- if (cacheName == null) {
- cacheName = "default";
- }
synchronized (cacheManager) {
- cache = cacheManager.getCache(cacheName);
+ cache = cacheManager.getCache(Preconditions.checkNotNull(cacheName));
if (cache == null) {
cacheManager.addCache(cacheName);
cache = cacheManager.getCache(cacheName);
Modified: shindig/trunk/java/common/src/test/java/org/apache/shindig/common/cache/LruCacheProviderTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/common/src/test/java/org/apache/shindig/common/cache/LruCacheProviderTest.java?rev=987033&r1=987032&r2=987033&view=diff
==============================================================================
--- shindig/trunk/java/common/src/test/java/org/apache/shindig/common/cache/LruCacheProviderTest.java (original)
+++ shindig/trunk/java/common/src/test/java/org/apache/shindig/common/cache/LruCacheProviderTest.java Thu Aug 19 06:38:46 2010
@@ -42,12 +42,6 @@ public class LruCacheProviderTest {
assertEquals(10, getCache(provider, "foo").capacity);
}
- @Test
- public void defaultCapacityForAnonCache() throws Exception {
- LruCacheProvider provider = new LruCacheProvider(10);
- assertEquals(10, getCache(provider, null).capacity);
- }
-
LruCacheProvider createProvider(final String name, final String capacity, int defaultCapacity) {
Module module = new AbstractModule() {
@Override
Modified: shindig/trunk/java/common/src/test/java/org/apache/shindig/common/cache/ehcache/EhCacheCacheProviderTest.java
URL: http://svn.apache.org/viewvc/shindig/trunk/java/common/src/test/java/org/apache/shindig/common/cache/ehcache/EhCacheCacheProviderTest.java?rev=987033&r1=987032&r2=987033&view=diff
==============================================================================
--- shindig/trunk/java/common/src/test/java/org/apache/shindig/common/cache/ehcache/EhCacheCacheProviderTest.java (original)
+++ shindig/trunk/java/common/src/test/java/org/apache/shindig/common/cache/ehcache/EhCacheCacheProviderTest.java Thu Aug 19 06:38:46 2010
@@ -22,6 +22,7 @@ import org.apache.shindig.common.cache.C
import org.apache.shindig.common.cache.CacheProvider;
import org.junit.Assert;
+import org.junit.BeforeClass;
import org.junit.Test;
/**
@@ -29,24 +30,15 @@ import org.junit.Test;
*/
public class EhCacheCacheProviderTest {
- @Test
- public void getAnonCache() throws Exception {
- CacheProvider defaultProvider = new EhCacheCacheProvider(
+ static CacheProvider defaultProvider;
+ @BeforeClass
+ public static void setup() throws Exception {
+ defaultProvider = new EhCacheCacheProvider(
"res://org/apache/shindig/common/cache/ehcache/ehcacheConfig.xml", true, true);
- Cache<String, String> cache = defaultProvider.createCache(null);
- Assert.assertNotNull(cache);
- Assert.assertNull(cache.getElement("test"));
- cache.addElement("test", "value1");
- Assert.assertEquals("value1", cache.getElement("test"));
- cache.removeElement("test");
- Assert.assertNull(cache.getElement("test"));
-
- }
+ }
@Test
public void getNamedCache() throws Exception {
- CacheProvider defaultProvider = new EhCacheCacheProvider(
- "res://org/apache/shindig/common/cache/ehcache/ehcacheConfig.xml", true, true);
Cache<String, String> cache = defaultProvider.createCache("testcache");
Cache<String, String> cache2 = defaultProvider.createCache("testcache");
Assert.assertNotNull(cache);
Modified: shindig/trunk/pom.xml
URL: http://svn.apache.org/viewvc/shindig/trunk/pom.xml?rev=987033&r1=987032&r2=987033&view=diff
==============================================================================
--- shindig/trunk/pom.xml (original)
+++ shindig/trunk/pom.xml Thu Aug 19 06:38:46 2010
@@ -1524,8 +1524,8 @@
</dependency>
<dependency>
<groupId>net.sf.ehcache</groupId>
- <artifactId>ehcache</artifactId>
- <version>1.6.2</version>
+ <artifactId>ehcache-core</artifactId>
+ <version>2.2.0</version>
</dependency>
<dependency>
<groupId>com.thoughtworks.xstream</groupId>