From 76cc4c27e4d6e0cecafc0e5c71dd9656057a062f Mon Sep 17 00:00:00 2001 From: Galder Zamarreno Date: Thu, 8 Jul 2010 14:08:58 +0000 Subject: [PATCH] [HHH-5362] (Upgrade trunk to latest Infinispan 4.1) Updated to 4.1.0.CR1. git-svn-id: https://svn.jboss.org/repos/hibernate/core/trunk@19918 1b8cb986-b30d-0410-93ca-fae66ebed9b2 --- cache-infinispan/pom.xml | 2 +- .../infinispan/InfinispanRegionFactory.java | 12 ++++---- .../JndiInfinispanRegionFactory.java | 10 +++---- .../InfinispanRegionFactoryTestCase.java | 28 +++++++++---------- .../classloader/IsolatedClassLoaderTest.java | 11 ++++---- .../cluster/ClusterAwareRegionFactory.java | 13 +++++---- .../EntityCollectionInvalidationTestCase.java | 6 ++-- .../cluster/SessionRefreshTestCase.java | 6 ++-- 8 files changed, 46 insertions(+), 42 deletions(-) diff --git a/cache-infinispan/pom.xml b/cache-infinispan/pom.xml index 55ec87ca5c..fbc10dbaf4 100644 --- a/cache-infinispan/pom.xml +++ b/cache-infinispan/pom.xml @@ -18,7 +18,7 @@ Integration of Hibernate with Infinispan - 4.0.0.FINAL + 4.1.0.CR1 1.8.0.2 2.2 3.4.GA diff --git a/cache-infinispan/src/main/java/org/hibernate/cache/infinispan/InfinispanRegionFactory.java b/cache-infinispan/src/main/java/org/hibernate/cache/infinispan/InfinispanRegionFactory.java index f9657f63ee..53d5418871 100644 --- a/cache-infinispan/src/main/java/org/hibernate/cache/infinispan/InfinispanRegionFactory.java +++ b/cache-infinispan/src/main/java/org/hibernate/cache/infinispan/InfinispanRegionFactory.java @@ -31,8 +31,8 @@ import org.hibernate.cfg.Settings; import org.hibernate.util.PropertiesHelper; import org.infinispan.Cache; import org.infinispan.config.Configuration; -import org.infinispan.manager.CacheManager; import org.infinispan.manager.DefaultCacheManager; +import org.infinispan.manager.EmbeddedCacheManager; import org.infinispan.util.logging.Log; import org.infinispan.util.logging.LogFactory; @@ -132,7 +132,7 @@ public class InfinispanRegionFactory implements RegionFactory { */ public static final String DEF_QUERY_RESOURCE = "local-query"; - private CacheManager manager; + private EmbeddedCacheManager manager; private final Map typeOverrides = new HashMap(); @@ -227,11 +227,11 @@ public class InfinispanRegionFactory implements RegionFactory { return System.currentTimeMillis() / 100; } - public void setCacheManager(CacheManager manager) { + public void setCacheManager(EmbeddedCacheManager manager) { this.manager = manager; } - public CacheManager getCacheManager() { + public EmbeddedCacheManager getCacheManager() { return manager; } @@ -283,10 +283,10 @@ public class InfinispanRegionFactory implements RegionFactory { return Collections.unmodifiableSet(definedConfigurations); } - protected CacheManager createCacheManager(Properties properties) throws CacheException { + protected EmbeddedCacheManager createCacheManager(Properties properties) throws CacheException { try { String configLoc = PropertiesHelper.getString(INFINISPAN_CONFIG_RESOURCE_PROP, properties, DEF_INFINISPAN_CONFIG_RESOURCE); - CacheManager manager = new DefaultCacheManager(configLoc, false); + EmbeddedCacheManager manager = new DefaultCacheManager(configLoc, false); String globalStats = PropertiesHelper.extractPropertyValue(INFINISPAN_GLOBAL_STATISTICS_PROP, properties); if (globalStats != null) { manager.getGlobalConfiguration().setExposeGlobalJmxStatistics(Boolean.parseBoolean(globalStats)); diff --git a/cache-infinispan/src/main/java/org/hibernate/cache/infinispan/JndiInfinispanRegionFactory.java b/cache-infinispan/src/main/java/org/hibernate/cache/infinispan/JndiInfinispanRegionFactory.java index bc654b4208..bcedd3128f 100644 --- a/cache-infinispan/src/main/java/org/hibernate/cache/infinispan/JndiInfinispanRegionFactory.java +++ b/cache-infinispan/src/main/java/org/hibernate/cache/infinispan/JndiInfinispanRegionFactory.java @@ -31,7 +31,7 @@ import org.hibernate.cache.CacheException; import org.hibernate.cache.RegionFactory; import org.hibernate.util.NamingHelper; import org.hibernate.util.PropertiesHelper; -import org.infinispan.manager.CacheManager; +import org.infinispan.manager.EmbeddedCacheManager; import org.infinispan.util.logging.Log; import org.infinispan.util.logging.LogFactory; @@ -47,7 +47,7 @@ public class JndiInfinispanRegionFactory extends InfinispanRegionFactory { private static final Log log = LogFactory.getLog(JndiInfinispanRegionFactory.class); /** - * Specifies the JNDI name under which the {@link CacheManager} to use is bound. + * Specifies the JNDI name under which the {@link EmbeddedCacheManager} to use is bound. * There is no default value -- the user must specify the property. */ public static final String CACHE_MANAGER_RESOURCE_PROP = "hibernate.cache.infinispan.cachemanager"; @@ -61,18 +61,18 @@ public class JndiInfinispanRegionFactory extends InfinispanRegionFactory { } @Override - protected CacheManager createCacheManager(Properties properties) throws CacheException { + protected EmbeddedCacheManager createCacheManager(Properties properties) throws CacheException { String name = PropertiesHelper.getString(CACHE_MANAGER_RESOURCE_PROP, properties, null); if (name == null) throw new CacheException("Configuration property " + CACHE_MANAGER_RESOURCE_PROP + " not set"); return locateCacheManager(name, NamingHelper.getJndiProperties(properties)); } - private CacheManager locateCacheManager(String jndiNamespace, Properties jndiProperties) { + private EmbeddedCacheManager locateCacheManager(String jndiNamespace, Properties jndiProperties) { Context ctx = null; try { ctx = new InitialContext(jndiProperties); - return (CacheManager) ctx.lookup(jndiNamespace); + return (EmbeddedCacheManager) ctx.lookup(jndiNamespace); } catch (NamingException ne) { String msg = "Unable to retrieve CacheManager from JNDI [" + jndiNamespace + "]"; log.info(msg, ne); diff --git a/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/InfinispanRegionFactoryTestCase.java b/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/InfinispanRegionFactoryTestCase.java index 3a2257a31e..0fe04eb551 100644 --- a/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/InfinispanRegionFactoryTestCase.java +++ b/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/InfinispanRegionFactoryTestCase.java @@ -33,10 +33,10 @@ import org.hibernate.cache.infinispan.util.CacheAdapter; import org.infinispan.config.Configuration; import org.infinispan.config.Configuration.CacheMode; import org.infinispan.eviction.EvictionStrategy; -import org.infinispan.manager.CacheManager; import org.infinispan.manager.DefaultCacheManager; import junit.framework.TestCase; +import org.infinispan.manager.EmbeddedCacheManager; /** * InfinispanRegionFactoryTestCase. @@ -118,7 +118,7 @@ public class InfinispanRegionFactoryTestCase extends TestCase { p.setProperty("hibernate.cache.infinispan.collection.eviction.max_entries", "25000"); InfinispanRegionFactory factory = new InfinispanRegionFactory(); factory.start(null, p); - CacheManager manager = factory.getCacheManager(); + EmbeddedCacheManager manager = factory.getCacheManager(); manager.getGlobalConfiguration().setTransportClass(null); try { assertFalse(manager.getGlobalConfiguration().isExposeGlobalJmxStatistics()); @@ -213,7 +213,7 @@ public class InfinispanRegionFactoryTestCase extends TestCase { p.setProperty("hibernate.cache.infinispan.collection.eviction.max_entries", "35000"); InfinispanRegionFactory factory = new InfinispanRegionFactory(); factory.start(null, p); - CacheManager manager = factory.getCacheManager(); + factory.getCacheManager(); try { EntityRegionImpl region = (EntityRegionImpl) factory.buildEntityRegion("com.acme.Address", p, null); assertNull(factory.getTypeOverrides().get("com.acme.Address")); @@ -250,7 +250,7 @@ public class InfinispanRegionFactoryTestCase extends TestCase { p.setProperty("hibernate.cache.infinispan.entity.eviction.max_entries", "10000"); InfinispanRegionFactory factory = new InfinispanRegionFactory(); factory.start(null, p); - CacheManager manager = factory.getCacheManager(); + EmbeddedCacheManager manager = factory.getCacheManager(); manager.getGlobalConfiguration().setTransportClass(null); try { assertNotNull(factory.getTypeOverrides().get(person)); @@ -275,7 +275,7 @@ public class InfinispanRegionFactoryTestCase extends TestCase { final DefaultCacheManager manager = new DefaultCacheManager(); InfinispanRegionFactory factory = new InfinispanRegionFactory() { @Override - protected CacheManager createCacheManager(Properties properties) throws CacheException { + protected EmbeddedCacheManager createCacheManager(Properties properties) throws CacheException { return manager; } }; @@ -294,7 +294,7 @@ public class InfinispanRegionFactoryTestCase extends TestCase { Properties p = new Properties(); InfinispanRegionFactory factory = new InfinispanRegionFactory(); factory.start(null, p); - CacheManager manager = factory.getCacheManager(); + EmbeddedCacheManager manager = factory.getCacheManager(); try { assertTrue(factory.getDefinedConfigurations().contains("timestamps")); assertTrue(factory.getTypeOverrides().get("timestamps").getCacheName().equals("timestamps")); @@ -319,7 +319,7 @@ public class InfinispanRegionFactoryTestCase extends TestCase { p.setProperty("hibernate.cache.infinispan.timestamps.cfg", "unrecommended-timestamps"); InfinispanRegionFactory factory = new InfinispanRegionFactory(); factory.start(null, p); - CacheManager manager = factory.getCacheManager(); + EmbeddedCacheManager manager = factory.getCacheManager(); try { assertFalse(factory.getDefinedConfigurations().contains("timestamp")); assertTrue(factory.getDefinedConfigurations().contains("unrecommended-timestamps")); @@ -346,7 +346,7 @@ public class InfinispanRegionFactoryTestCase extends TestCase { InfinispanRegionFactory factory = new InfinispanRegionFactory(); p.setProperty("hibernate.cache.infinispan.timestamps.cfg", "mytimestamps-cache"); factory.start(null, p); - CacheManager manager = factory.getCacheManager(); + EmbeddedCacheManager manager = factory.getCacheManager(); manager.getGlobalConfiguration().setTransportClass(null); try { factory.buildTimestampsRegion(timestamps, p); @@ -366,7 +366,7 @@ public class InfinispanRegionFactoryTestCase extends TestCase { p.setProperty("hibernate.cache.infinispan.timestamps.eviction.max_entries", "10000"); try { factory.start(null, p); - CacheManager manager = factory.getCacheManager(); + EmbeddedCacheManager manager = factory.getCacheManager(); manager.getGlobalConfiguration().setTransportClass(null); factory.buildTimestampsRegion(timestamps, p); assertTrue(factory.getDefinedConfigurations().contains("mytimestamps-cache")); @@ -386,7 +386,7 @@ public class InfinispanRegionFactoryTestCase extends TestCase { p.setProperty("hibernate.cache.infinispan.timestamps.eviction.wake_up_interval", "3000"); p.setProperty("hibernate.cache.infinispan.timestamps.eviction.max_entries", "10000"); factory.start(null, p); - CacheManager manager = factory.getCacheManager(); + EmbeddedCacheManager manager = factory.getCacheManager(); manager.getGlobalConfiguration().setTransportClass(null); try { factory.buildTimestampsRegion(timestamps, p); @@ -401,7 +401,7 @@ public class InfinispanRegionFactoryTestCase extends TestCase { Properties p = new Properties(); InfinispanRegionFactory factory = new InfinispanRegionFactory(); factory.start(null, p); - CacheManager manager = factory.getCacheManager(); + EmbeddedCacheManager manager = factory.getCacheManager(); manager.getGlobalConfiguration().setTransportClass(null); try { assertTrue(factory.getDefinedConfigurations().contains("local-query")); @@ -424,7 +424,7 @@ public class InfinispanRegionFactoryTestCase extends TestCase { p.setProperty("hibernate.cache.infinispan.myquery.eviction.wake_up_interval", "2222"); p.setProperty("hibernate.cache.infinispan.myquery.eviction.max_entries", "11111"); factory.start(null, p); - CacheManager manager = factory.getCacheManager(); + EmbeddedCacheManager manager = factory.getCacheManager(); manager.getGlobalConfiguration().setTransportClass(null); try { assertTrue(factory.getDefinedConfigurations().contains("local-query")); @@ -452,7 +452,7 @@ public class InfinispanRegionFactoryTestCase extends TestCase { p.setProperty("hibernate.cache.infinispan.entity.eviction.max_entries", "10000"); InfinispanRegionFactory factory = new InfinispanRegionFactory(); factory.start(null, p); - CacheManager manager = factory.getCacheManager(); + EmbeddedCacheManager manager = factory.getCacheManager(); try { assertTrue(manager.getGlobalConfiguration().isExposeGlobalJmxStatistics()); EntityRegionImpl region = (EntityRegionImpl) factory.buildEntityRegion("com.acme.Address", p, null); @@ -500,7 +500,7 @@ public class InfinispanRegionFactoryTestCase extends TestCase { p.setProperty("hibernate.cache.infinispan.entity.eviction.max_entries", "10000"); InfinispanRegionFactory factory = new InfinispanRegionFactory(); factory.start(null, p); - CacheManager manager = factory.getCacheManager(); + EmbeddedCacheManager manager = factory.getCacheManager(); try { assertFalse(manager.getGlobalConfiguration().isExposeGlobalJmxStatistics()); EntityRegionImpl region = (EntityRegionImpl) factory.buildEntityRegion("com.acme.Address", p, null); diff --git a/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/classloader/IsolatedClassLoaderTest.java b/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/classloader/IsolatedClassLoaderTest.java index e8203c766c..04e22473f6 100644 --- a/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/classloader/IsolatedClassLoaderTest.java +++ b/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/classloader/IsolatedClassLoaderTest.java @@ -34,7 +34,8 @@ import org.hibernate.test.cache.infinispan.functional.cluster.DualNodeTestCase; import org.hibernate.test.cache.infinispan.functional.cluster.ClusterAwareRegionFactory; import org.hibernate.test.cache.infinispan.functional.cluster.DualNodeJtaTransactionManagerImpl; import org.infinispan.Cache; -import org.infinispan.manager.CacheManager; +import org.infinispan.manager.CacheContainer; +import org.infinispan.manager.EmbeddedCacheManager; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -120,11 +121,11 @@ public class IsolatedClassLoaderTest extends DualNodeTestCase { public void testIsolatedSetup() throws Exception { // Bind a listener to the "local" cache // Our region factory makes its CacheManager available to us - CacheManager localManager = ClusterAwareRegionFactory.getCacheManager(DualNodeTestCase.LOCAL); + CacheContainer localManager = ClusterAwareRegionFactory.getCacheManager(DualNodeTestCase.LOCAL); Cache localReplicatedCache = localManager.getCache("replicated-entity"); // Bind a listener to the "remote" cache - CacheManager remoteManager = ClusterAwareRegionFactory.getCacheManager(DualNodeTestCase.REMOTE); + CacheContainer remoteManager = ClusterAwareRegionFactory.getCacheManager(DualNodeTestCase.REMOTE); Cache remoteReplicatedCache = remoteManager.getCache("replicated-entity"); ClassLoader cl = Thread.currentThread().getContextClassLoader(); @@ -164,9 +165,9 @@ public class IsolatedClassLoaderTest extends DualNodeTestCase { protected void queryTest(boolean useNamedRegion) throws Exception { // Bind a listener to the "local" cache // Our region factory makes its CacheManager available to us - CacheManager localManager = ClusterAwareRegionFactory.getCacheManager(DualNodeTestCase.LOCAL); + EmbeddedCacheManager localManager = ClusterAwareRegionFactory.getCacheManager(DualNodeTestCase.LOCAL); // Bind a listener to the "remote" cache - CacheManager remoteManager = ClusterAwareRegionFactory.getCacheManager(DualNodeTestCase.REMOTE); + EmbeddedCacheManager remoteManager = ClusterAwareRegionFactory.getCacheManager(DualNodeTestCase.REMOTE); String cacheName; if (useNamedRegion) { cacheName = "AccountRegion"; // As defined by ClassLoaderTestDAO via calls to query.setCacheRegion diff --git a/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/ClusterAwareRegionFactory.java b/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/ClusterAwareRegionFactory.java index 7555fe7693..c9f80fdaad 100644 --- a/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/ClusterAwareRegionFactory.java +++ b/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/ClusterAwareRegionFactory.java @@ -34,7 +34,8 @@ import org.hibernate.cache.TimestampsRegion; import org.hibernate.cache.access.AccessType; import org.hibernate.cache.infinispan.InfinispanRegionFactory; import org.hibernate.cfg.Settings; -import org.infinispan.manager.CacheManager; +import org.infinispan.manager.CacheContainer; +import org.infinispan.manager.EmbeddedCacheManager; import org.infinispan.util.logging.Log; import org.infinispan.util.logging.LogFactory; @@ -47,7 +48,7 @@ import org.infinispan.util.logging.LogFactory; public class ClusterAwareRegionFactory implements RegionFactory { private static final Log log = LogFactory.getLog(ClusterAwareRegionFactory.class); - private static final Hashtable cacheManagers = new Hashtable(); + private static final Hashtable cacheManagers = new Hashtable(); private final InfinispanRegionFactory delegate = new InfinispanRegionFactory(); private String cacheManagerName; @@ -56,16 +57,16 @@ public class ClusterAwareRegionFactory implements RegionFactory { public ClusterAwareRegionFactory(Properties props) { } - public static CacheManager getCacheManager(String name) { + public static EmbeddedCacheManager getCacheManager(String name) { return cacheManagers.get(name); } - public static void addCacheManager(String name, CacheManager manager) { + public static void addCacheManager(String name, EmbeddedCacheManager manager) { cacheManagers.put(name, manager); } public static void clearCacheManagers() { - for (CacheManager manager : cacheManagers.values()) { + for (EmbeddedCacheManager manager : cacheManagers.values()) { try { manager.stop(); } catch (Exception e) { @@ -78,7 +79,7 @@ public class ClusterAwareRegionFactory implements RegionFactory { public void start(Settings settings, Properties properties) throws CacheException { cacheManagerName = properties.getProperty(DualNodeTestCase.NODE_ID_PROP); - CacheManager existing = getCacheManager(cacheManagerName); + EmbeddedCacheManager existing = getCacheManager(cacheManagerName); locallyAdded = (existing == null); if (locallyAdded) { diff --git a/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/EntityCollectionInvalidationTestCase.java b/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/EntityCollectionInvalidationTestCase.java index b2d84d5af0..99d029dc31 100644 --- a/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/EntityCollectionInvalidationTestCase.java +++ b/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/EntityCollectionInvalidationTestCase.java @@ -34,7 +34,7 @@ import org.hibernate.cache.infinispan.util.CacheHelper; import org.hibernate.test.cache.infinispan.functional.Contact; import org.hibernate.test.cache.infinispan.functional.Customer; import org.infinispan.Cache; -import org.infinispan.manager.CacheManager; +import org.infinispan.manager.CacheContainer; import org.infinispan.notifications.Listener; import org.infinispan.notifications.cachelistener.annotation.CacheEntryVisited; import org.infinispan.notifications.cachelistener.event.CacheEntryVisitedEvent; @@ -67,7 +67,7 @@ public class EntityCollectionInvalidationTestCase extends DualNodeTestCase { // Bind a listener to the "local" cache // Our region factory makes its CacheManager available to us - CacheManager localManager = ClusterAwareRegionFactory.getCacheManager(DualNodeTestCase.LOCAL); + CacheContainer localManager = ClusterAwareRegionFactory.getCacheManager(DualNodeTestCase.LOCAL); // Cache localCache = localManager.getCache("entity"); Cache localCustomerCache = localManager.getCache(Customer.class.getName()); Cache localContactCache = localManager.getCache(Contact.class.getName()); @@ -79,7 +79,7 @@ public class EntityCollectionInvalidationTestCase extends DualNodeTestCase { TransactionManager localTM = DualNodeJtaTransactionManagerImpl.getInstance(DualNodeTestCase.LOCAL); // Bind a listener to the "remote" cache - CacheManager remoteManager = ClusterAwareRegionFactory.getCacheManager(DualNodeTestCase.REMOTE); + CacheContainer remoteManager = ClusterAwareRegionFactory.getCacheManager(DualNodeTestCase.REMOTE); Cache remoteCustomerCache = remoteManager.getCache(Customer.class.getName()); Cache remoteContactCache = remoteManager.getCache(Contact.class.getName()); Cache remoteCollectionCache = remoteManager.getCache(Customer.class.getName() + ".contacts"); diff --git a/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/SessionRefreshTestCase.java b/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/SessionRefreshTestCase.java index de4536f383..a33bba069d 100644 --- a/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/SessionRefreshTestCase.java +++ b/cache-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/SessionRefreshTestCase.java @@ -30,7 +30,7 @@ import org.hibernate.cfg.Environment; import org.hibernate.test.cache.infinispan.functional.classloader.Account; import org.hibernate.test.cache.infinispan.functional.classloader.ClassLoaderTestDAO; import org.infinispan.Cache; -import org.infinispan.manager.CacheManager; +import org.infinispan.manager.CacheContainer; import org.infinispan.test.TestingUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -90,12 +90,14 @@ public class SessionRefreshTestCase extends DualNodeTestCase { public void testRefreshAfterExternalChange() throws Exception { // First session factory uses a cache - CacheManager localManager = ClusterAwareRegionFactory.getCacheManager(DualNodeTestCase.LOCAL); + CacheContainer localManager = ClusterAwareRegionFactory.getCacheManager(DualNodeTestCase.LOCAL); localCache = localManager.getCache(Account.class.getName()); TransactionManager localTM = DualNodeJtaTransactionManagerImpl.getInstance(DualNodeTestCase.LOCAL); SessionFactory localFactory = getEnvironment().getSessionFactory(); // Second session factory doesn't; just needs a transaction manager + // However, start at least the cache to avoid issues with replication and cache not being there + ClusterAwareRegionFactory.getCacheManager(DualNodeTestCase.REMOTE).getCache(Account.class.getName()); TransactionManager remoteTM = DualNodeJtaTransactionManagerImpl.getInstance(DualNodeTestCase.REMOTE); SessionFactory remoteFactory = getSecondNodeEnvironment().getSessionFactory();