@Override public RegionFactory initiateService(Map configurationValues, ServiceRegistryImplementor registry) { final RegionFactory regionFactory = resolveRegionFactory( configurationValues, registry ); LOG.debugf( "Cache region factory : %s", regionFactory.getClass().getName() ); return regionFactory; }
@Override protected RegionFactory resolveRegionFactory(Map configurationValues, ServiceRegistryImplementor registry) { final Object useSecondLevelCache = configurationValues.get(USE_SECOND_LEVEL_CACHE); final String jpaSharedCodeModeValue = configurationValues.get(JPA_SHARED_CACHE_MODE) != null ? configurationValues.get(JPA_SHARED_CACHE_MODE).toString() : UNSPECIFIED; final Object regionFactory = configurationValues.get(HIBERNATE_REGION_FACTORY_CLASS); // treat Hibernate 2lc as off, if not specified. // Note that Hibernate 2lc in 5.1.x, defaults to disabled, so this code is only needed in 5.3.x+. if(Boolean.parseBoolean((String)useSecondLevelCache)) { JPA_LOGGER.tracef("WildFlyCustomRegionFactoryInitiator#resolveRegionFactory using %s for 2lc, useSecondLevelCache=%s, jpaSharedCodeModeValue=%s, regionFactory=%s", V53_INFINISPAN_REGION_FACTORY, useSecondLevelCache,jpaSharedCodeModeValue, regionFactory); configurationValues.put(HIBERNATE_REGION_FACTORY_CLASS, V53_INFINISPAN_REGION_FACTORY); return super.resolveRegionFactory(configurationValues, registry); } else if(UNSPECIFIED.equals(jpaSharedCodeModeValue) || NONE.equals(jpaSharedCodeModeValue)) { // explicitly disable 2lc cache JPA_LOGGER.tracef("WildFlyCustomRegionFactoryInitiator#resolveRegionFactory not using a 2lc, useSecondLevelCache=%s, jpaSharedCodeModeValue=%s, regionFactory=%s", useSecondLevelCache,jpaSharedCodeModeValue, regionFactory); return NoCachingRegionFactory.INSTANCE; } else { JPA_LOGGER.tracef("WildFlyCustomRegionFactoryInitiator#resolveRegionFactory using %s for 2lc, useSecondLevelCache=%s, jpaSharedCodeModeValue=%s, regionFactory=%s", V53_INFINISPAN_REGION_FACTORY, useSecondLevelCache,jpaSharedCodeModeValue, regionFactory); configurationValues.put(HIBERNATE_REGION_FACTORY_CLASS, V53_INFINISPAN_REGION_FACTORY); return super.resolveRegionFactory(configurationValues, registry); } } }
@Override public RegionFactory initiateService(Map configurationValues, ServiceRegistryImplementor registry) { final RegionFactory regionFactory = resolveRegionFactory( configurationValues, registry ); LOG.debugf( "Cache region factory : %s", regionFactory.getClass().getName() ); return regionFactory; }
@Override protected RegionFactory resolveRegionFactory(Map configurationValues, ServiceRegistryImplementor registry) { final Object useSecondLevelCache = configurationValues.get(USE_SECOND_LEVEL_CACHE); final String jpaSharedCodeModeValue = configurationValues.get(JPA_SHARED_CACHE_MODE) != null ? configurationValues.get(JPA_SHARED_CACHE_MODE).toString() : UNSPECIFIED; // treat Hibernate 2lc as off, if not specified. // Note that Hibernate 2lc in 5.1.x, defaults to disabled, so this code is only needed in 5.3.x+. if(Boolean.parseBoolean((String)useSecondLevelCache)) { configurationValues.put(HIBERNATE_REGION_FACTORY_CLASS, V53_INFINISPAN_REGION_FACTORY); return super.resolveRegionFactory(configurationValues, registry); } else if(UNSPECIFIED.equals(jpaSharedCodeModeValue) || NONE.equals(jpaSharedCodeModeValue)) { // explicitly disable 2lc cache return NoCachingRegionFactory.INSTANCE; } else { configurationValues.put(HIBERNATE_REGION_FACTORY_CLASS, V53_INFINISPAN_REGION_FACTORY); return super.resolveRegionFactory(configurationValues, registry); } } }