diff --git a/hibernate-infinispan/src/test/java/org/hibernate/test/cache/infinispan/AbstractGeneralDataRegionTestCase.java b/hibernate-infinispan/src/test/java/org/hibernate/test/cache/infinispan/AbstractGeneralDataRegionTestCase.java index 3117521febae..4817fa983b0d 100644 --- a/hibernate-infinispan/src/test/java/org/hibernate/test/cache/infinispan/AbstractGeneralDataRegionTestCase.java +++ b/hibernate-infinispan/src/test/java/org/hibernate/test/cache/infinispan/AbstractGeneralDataRegionTestCase.java @@ -57,17 +57,22 @@ public abstract class AbstractGeneralDataRegionTestCase extends AbstractRegionIm protected static final String VALUE2 = "value2"; protected Configuration createConfiguration() { - return CacheTestUtil.buildConfiguration( "test", InfinispanRegionFactory.class, false, true ); + return CacheTestUtil.buildConfiguration( + "test", + org.hibernate.test.cache.infinispan.functional.SingleNodeTestCase.TestInfinispanRegionFactory.class, + false, + true + ); } @Override protected void putInRegion(Region region, Object key, Object value) { - ((GeneralDataRegion) region).put( key, value ); + ( (GeneralDataRegion) region ).put( key, value ); } @Override protected void removeFromRegion(Region region, Object key) { - ((GeneralDataRegion) region).evict( key ); + ( (GeneralDataRegion) region ).evict( key ); } @Test @@ -77,63 +82,71 @@ public void testEvict() throws Exception { private void evictOrRemoveTest() throws Exception { Configuration cfg = createConfiguration(); - InfinispanRegionFactory regionFactory = CacheTestUtil.startRegionFactory( - new StandardServiceRegistryBuilder().applySettings( cfg.getProperties() ).build(), - cfg, - getCacheTestSupport() - ); - boolean invalidation = false; - - // Sleep a bit to avoid concurrent FLUSH problem - avoidConcurrentFlush(); - - GeneralDataRegion localRegion = (GeneralDataRegion) createRegion( - regionFactory, - getStandardRegionName( REGION_PREFIX ), cfg.getProperties(), null - ); - - cfg = createConfiguration(); - regionFactory = CacheTestUtil.startRegionFactory( - new StandardServiceRegistryBuilder().applySettings( cfg.getProperties() ).build(), - cfg, - getCacheTestSupport() - ); - - GeneralDataRegion remoteRegion = (GeneralDataRegion) createRegion( - regionFactory, - getStandardRegionName( REGION_PREFIX ), - cfg.getProperties(), - null - ); - - assertNull( "local is clean", localRegion.get( KEY ) ); - assertNull( "remote is clean", remoteRegion.get( KEY ) ); - - regionPut(localRegion); - assertEquals( VALUE1, localRegion.get( KEY ) ); - - // allow async propagation - sleep( 250 ); - Object expected = invalidation ? null : VALUE1; - assertEquals( expected, remoteRegion.get( KEY ) ); - - regionEvict(localRegion); - - // allow async propagation - sleep( 250 ); - assertEquals( null, localRegion.get( KEY ) ); - assertEquals( null, remoteRegion.get( KEY ) ); + InfinispanRegionFactory regionFactory = null; + InfinispanRegionFactory remoteRegionFactory = null; + try { + regionFactory = CacheTestUtil.startRegionFactory( + new StandardServiceRegistryBuilder().applySettings( cfg.getProperties() ).build(), + cfg, + getCacheTestSupport() + ); + boolean invalidation = false; + + // Sleep a bit to avoid concurrent FLUSH problem + avoidConcurrentFlush(); + + GeneralDataRegion localRegion = (GeneralDataRegion) createRegion( + regionFactory, + getStandardRegionName( REGION_PREFIX ), cfg.getProperties(), null + ); + + cfg = createConfiguration(); + remoteRegionFactory = CacheTestUtil.startRegionFactory( + new StandardServiceRegistryBuilder().applySettings( cfg.getProperties() ).build(), + cfg, + getCacheTestSupport() + ); + + GeneralDataRegion remoteRegion = (GeneralDataRegion) createRegion( + remoteRegionFactory, + getStandardRegionName( REGION_PREFIX ), + cfg.getProperties(), + null + ); + + assertNull( "local is clean", localRegion.get( KEY ) ); + assertNull( "remote is clean", remoteRegion.get( KEY ) ); + + regionPut( localRegion ); + assertEquals( VALUE1, localRegion.get( KEY ) ); + + // allow async propagation + sleep( 250 ); + Object expected = invalidation ? null : VALUE1; + assertEquals( expected, remoteRegion.get( KEY ) ); + + regionEvict( localRegion ); + + // allow async propagation + sleep( 250 ); + assertEquals( null, localRegion.get( KEY ) ); + assertEquals( null, remoteRegion.get( KEY ) ); + } + finally { + CacheTestUtil.stopRegionFactory( regionFactory, getCacheTestSupport() ); + CacheTestUtil.stopRegionFactory( remoteRegionFactory, getCacheTestSupport() ); + } } - protected void regionEvict(GeneralDataRegion region) throws Exception { - region.evict(KEY); - } + protected void regionEvict(GeneralDataRegion region) throws Exception { + region.evict( KEY ); + } - protected void regionPut(GeneralDataRegion region) throws Exception { - region.put(KEY, VALUE1); - } + protected void regionPut(GeneralDataRegion region) throws Exception { + region.put( KEY, VALUE1 ); + } - protected abstract String getStandardRegionName(String regionPrefix); + protected abstract String getStandardRegionName(String regionPrefix); /** * Test method for {@link QueryResultsRegion#evictAll()}. @@ -170,7 +183,7 @@ private void evictOrRemoveAllTest(String configName) throws Exception { cfg, getCacheTestSupport() ); - AdvancedCache remoteCache = getInfinispanCache( regionFactory ); + AdvancedCache remoteCache = getInfinispanCache( regionFactory ); // Sleep a bit to avoid concurrent FLUSH problem avoidConcurrentFlush(); @@ -191,14 +204,14 @@ private void evictOrRemoveAllTest(String configName) throws Exception { assertNull( "local is clean", localRegion.get( KEY ) ); assertNull( "remote is clean", remoteRegion.get( KEY ) ); - regionPut(localRegion); - assertEquals( VALUE1, localRegion.get( KEY ) ); + regionPut( localRegion ); + assertEquals( VALUE1, localRegion.get( KEY ) ); // Allow async propagation sleep( 250 ); - regionPut(remoteRegion); - assertEquals( VALUE1, remoteRegion.get( KEY ) ); + regionPut( remoteRegion ); + assertEquals( VALUE1, remoteRegion.get( KEY ) ); // Allow async propagation sleep( 250 ); @@ -225,7 +238,7 @@ protected void rollback() { try { BatchModeTransactionManager.getInstance().rollback(); } - catch (Exception e) { + catch ( Exception e ) { log.error( e.getMessage(), e ); } } diff --git a/hibernate-infinispan/src/test/java/org/hibernate/test/cache/infinispan/NodeEnvironment.java b/hibernate-infinispan/src/test/java/org/hibernate/test/cache/infinispan/NodeEnvironment.java index e28936beca90..1a78dd1b6bf6 100644 --- a/hibernate-infinispan/src/test/java/org/hibernate/test/cache/infinispan/NodeEnvironment.java +++ b/hibernate-infinispan/src/test/java/org/hibernate/test/cache/infinispan/NodeEnvironment.java @@ -50,7 +50,7 @@ public class NodeEnvironment { private Map entityRegionMap; private Map collectionRegionMap; - private SessionFactoryImplementor sessionFactory; + private SessionFactoryImplementor sessionFactory; public NodeEnvironment(Configuration configuration) { this.configuration = configuration; } @@ -113,7 +113,6 @@ public void prepare() throws Exception { .applySettings(configuration.getProperties()) .build(); sessionFactory = (SessionFactoryImplementor)configuration.buildSessionFactory( serviceRegistry ); -// regionFactory = CacheTestUtil.startRegionFactory(serviceRegistry, configuration); regionFactory = (InfinispanRegionFactory)sessionFactory.getServiceRegistry().getService( RegionFactory.class ); } @@ -142,11 +141,6 @@ public void release() throws Exception { } } finally { try { -// if (regionFactory != null) { -// // Currently the RegionFactory is shutdown by its registration -// // with the CacheTestSetup from CacheTestUtil when built -// regionFactory.stop(); -// } if(sessionFactory!=null){ sessionFactory.close(); } diff --git a/hibernate-infinispan/src/test/java/org/hibernate/test/cache/infinispan/collection/AbstractCollectionRegionAccessStrategyTestCase.java b/hibernate-infinispan/src/test/java/org/hibernate/test/cache/infinispan/collection/AbstractCollectionRegionAccessStrategyTestCase.java index 23793fa8377b..007ff14e20b1 100644 --- a/hibernate-infinispan/src/test/java/org/hibernate/test/cache/infinispan/collection/AbstractCollectionRegionAccessStrategyTestCase.java +++ b/hibernate-infinispan/src/test/java/org/hibernate/test/cache/infinispan/collection/AbstractCollectionRegionAccessStrategyTestCase.java @@ -123,7 +123,7 @@ public void prepareResources() throws Exception { protected static Configuration createConfiguration(String configName) { Configuration cfg = CacheTestUtil.buildConfiguration( - REGION_PREFIX, InfinispanRegionFactory.class, true, false + REGION_PREFIX, org.hibernate.test.cache.infinispan.functional.SingleNodeTestCase.TestInfinispanRegionFactory.class, true, false ); cfg.setProperty( InfinispanRegionFactory.ENTITY_CACHE_RESOURCE_PROP, configName ); return cfg; diff --git a/hibernate-infinispan/src/test/java/org/hibernate/test/cache/infinispan/entity/AbstractEntityRegionAccessStrategyTestCase.java b/hibernate-infinispan/src/test/java/org/hibernate/test/cache/infinispan/entity/AbstractEntityRegionAccessStrategyTestCase.java index faaf9cdff385..80d36c4c3ff7 100644 --- a/hibernate-infinispan/src/test/java/org/hibernate/test/cache/infinispan/entity/AbstractEntityRegionAccessStrategyTestCase.java +++ b/hibernate-infinispan/src/test/java/org/hibernate/test/cache/infinispan/entity/AbstractEntityRegionAccessStrategyTestCase.java @@ -123,7 +123,7 @@ protected void waitForClusterToForm(Cache... caches) { protected static Configuration createConfiguration(String configName) { Configuration cfg = CacheTestUtil.buildConfiguration( REGION_PREFIX, - InfinispanRegionFactory.class, + org.hibernate.test.cache.infinispan.functional.SingleNodeTestCase.TestInfinispanRegionFactory.class, true, false ); diff --git a/hibernate-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/DualNodeTestCase.java b/hibernate-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/DualNodeTestCase.java index 2d2fe5666a92..ddb03ce347c0 100644 --- a/hibernate-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/DualNodeTestCase.java +++ b/hibernate-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/DualNodeTestCase.java @@ -136,6 +136,7 @@ protected void standardConfigure(Configuration cfg) { cfg.setProperty( Environment.TRANSACTION_STRATEGY, getTransactionFactoryClass().getName() ); cfg.setProperty( Environment.CACHE_REGION_FACTORY, getCacheRegionFactory().getName() ); cfg.setProperty( Environment.USE_QUERY_CACHE, String.valueOf( getUseQueryCache() ) ); + cfg.setProperty( USE_NEW_METADATA_MAPPINGS, "false" ); } public class SecondNodeEnvironment { @@ -173,6 +174,7 @@ public void shutDown() { if ( sessionFactory != null ) { try { sessionFactory.close(); + sessionFactory = null; } catch (Exception ignore) { } @@ -180,6 +182,7 @@ public void shutDown() { if ( serviceRegistry != null ) { try { serviceRegistry.destroy(); + serviceRegistry = null; } catch (Exception ignore) { } diff --git a/hibernate-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/NaturalIdInvalidationTestCase.java b/hibernate-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/NaturalIdInvalidationTestCase.java index f82373e8bd25..d8784d578221 100644 --- a/hibernate-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/NaturalIdInvalidationTestCase.java +++ b/hibernate-infinispan/src/test/java/org/hibernate/test/cache/infinispan/functional/cluster/NaturalIdInvalidationTestCase.java @@ -44,7 +44,10 @@ public class NaturalIdInvalidationTestCase extends DualNodeTestCase { private static final long SLEEP_TIME = 50l; private static final Integer CUSTOMER_ID = new Integer( 1 ); private static int test = 0; - + @Override + public String[] getMappings() { + return new String[]{}; + } @Override protected Class[] getAnnotatedClasses() { return new Class[] { diff --git a/hibernate-infinispan/src/test/java/org/hibernate/test/cache/infinispan/query/QueryRegionImplTestCase.java b/hibernate-infinispan/src/test/java/org/hibernate/test/cache/infinispan/query/QueryRegionImplTestCase.java index 3ec976b6b195..a6793fbd4bbc 100644 --- a/hibernate-infinispan/src/test/java/org/hibernate/test/cache/infinispan/query/QueryRegionImplTestCase.java +++ b/hibernate-infinispan/src/test/java/org/hibernate/test/cache/infinispan/query/QueryRegionImplTestCase.java @@ -106,7 +106,11 @@ protected AdvancedCache getInfinispanCache(InfinispanRegionFactory regionFactory @Override protected Configuration createConfiguration() { - return CacheTestUtil.buildCustomQueryCacheConfiguration( "test", "replicated-query" ); + Configuration cfg = super.createConfiguration(); + cfg.setProperty(InfinispanRegionFactory.QUERY_CACHE_RESOURCE_PROP, "replicated-query"); + +// return CacheTestUtil.buildCustomQueryCacheConfiguration( "test", "replicated-query" ); + return cfg; } private void putDoesNotBlockGetTest() throws Exception { diff --git a/hibernate-infinispan/src/test/java/org/hibernate/test/cache/infinispan/util/CacheTestUtil.java b/hibernate-infinispan/src/test/java/org/hibernate/test/cache/infinispan/util/CacheTestUtil.java index 97181acce375..5c6034ae974f 100644 --- a/hibernate-infinispan/src/test/java/org/hibernate/test/cache/infinispan/util/CacheTestUtil.java +++ b/hibernate-infinispan/src/test/java/org/hibernate/test/cache/infinispan/util/CacheTestUtil.java @@ -57,34 +57,6 @@ public static Configuration buildConfiguration(String regionPrefix, return cfg; } - public static Configuration buildCustomQueryCacheConfiguration(String regionPrefix, String queryCacheName) { - Configuration cfg = buildConfiguration(regionPrefix, InfinispanRegionFactory.class, true, true); - cfg.setProperty(InfinispanRegionFactory.QUERY_CACHE_RESOURCE_PROP, queryCacheName); - return cfg; - } - - public static InfinispanRegionFactory startRegionFactory(ServiceRegistry reg, - Configuration cfg){ - try { - Settings settings = cfg.buildSettings(reg); - Properties properties = cfg.getProperties(); - - String factoryType = cfg.getProperty(Environment.CACHE_REGION_FACTORY); - Class clazz = Thread.currentThread() - .getContextClassLoader().loadClass(factoryType); - InfinispanRegionFactory regionFactory; - if (clazz == InfinispanRegionFactory.class) { - regionFactory = new SingleNodeTestCase.TestInfinispanRegionFactory(); - } else { - regionFactory = (InfinispanRegionFactory) clazz.newInstance(); - } - regionFactory.start(settings, properties); - return regionFactory; - } catch (Exception e) { - throw new RuntimeException(e); - } - } - public static InfinispanRegionFactory startRegionFactory(ServiceRegistry serviceRegistry, Configuration cfg, CacheTestSupport testSupport) { SessionFactoryImplementor sessionFactory =(SessionFactoryImplementor) cfg.buildSessionFactory( serviceRegistry ); @@ -93,12 +65,14 @@ public static InfinispanRegionFactory startRegionFactory(ServiceRegistry service return factory; } - public static void stopRegionFactory(InfinispanRegionFactory factory, - CacheTestSupport testSupport) { - testSupport.unregisterFactory(factory).close(); - } + public static void stopRegionFactory(InfinispanRegionFactory factory, + CacheTestSupport testSupport) { + if ( factory != null ) { + testSupport.unregisterFactory( factory ).close(); + } + } - /** + /** * Prevent instantiation. */ private CacheTestUtil() {