public HazelcastInstance getHazelcastInstance(Settings settings) { Object providerObject = null; try { Method getCacheProviderMethod = Settings.class.getMethod(METHOD_GET_CACHE_PROVIDER); providerObject = getCacheProviderMethod.invoke(settings); } catch (Exception e) { logger.log(Level.SEVERE, e.getMessage(), e); return null; } if (providerObject == null) { logger.log(Level.SEVERE, "Hibernate 2nd level cache has not been enabled!"); return null; } final CacheProvider provider = (CacheProvider) providerObject; if (provider instanceof HazelcastCacheProvider) { return ((HazelcastCacheProvider) provider).getHazelcastInstance(); } logger.log(Level.WARNING, "Current 2nd level cache implementation is not HazelcastCacheProvider!"); return null; }
public HazelcastInstance getHazelcastInstance(Settings settings) { final RegionFactory rf = settings.getRegionFactory(); if (rf == null) { logger.log(Level.SEVERE, "Hibernate 2nd level cache has not been enabled!"); return null; } if (rf instanceof RegionFactoryCacheProviderBridge) { final CacheProvider provider = ((RegionFactoryCacheProviderBridge) rf).getCacheProvider(); if (provider instanceof HazelcastCacheProvider) { return ((HazelcastCacheProvider) provider).getHazelcastInstance(); } logger.log(Level.WARNING, "Current 2nd level cache implementation is not HazelcastCacheProvider!"); } else if (rf instanceof HazelcastCacheRegionFactory) { return ((HazelcastCacheRegionFactory) rf).getHazelcastInstance(); } else { logger.log(Level.WARNING, "Current 2nd level cache implementation is not HazelcastCacheRegionFactory!"); } return null; }
public HazelcastInstance getHazelcastInstance(Settings settings) { final RegionFactory rf = settings.getRegionFactory(); if (rf == null) { logger.log(Level.SEVERE, "Hibernate 2nd level cache has not been enabled!"); return null; } if (rf instanceof RegionFactoryCacheProviderBridge) { final CacheProvider provider = ((RegionFactoryCacheProviderBridge) rf).getCacheProvider(); if (provider instanceof HazelcastCacheProvider) { return ((HazelcastCacheProvider) provider).getHazelcastInstance(); } logger.log(Level.WARNING, "Current 2nd level cache implementation is not HazelcastCacheProvider!"); } else if (rf instanceof AbstractHazelcastCacheRegionFactory) { return ((AbstractHazelcastCacheRegionFactory) rf).getHazelcastInstance(); } else { logger.log(Level.WARNING, "Current 2nd level cache implementation is not HazelcastCacheRegionFactory!"); } return null; }
protected CacheProvider createCacheProvider(Properties properties) { String cacheClassName = PropertiesHelper.getString( Environment.CACHE_PROVIDER, properties, DEF_CACHE_PROVIDER ); log.info("Cache provider: " + cacheClassName); try { return (CacheProvider) ReflectHelper.classForName(cacheClassName).newInstance(); } catch (Exception cnfe) { throw new HibernateException("could not instantiate CacheProvider: " + cacheClassName, cnfe); } }
public LocalCacheProviderProxy() { CacheProvider cp = LocalSessionFactoryBean.getConfigTimeCacheProvider(); // absolutely needs thread-bound CacheProvider to initialize if (cp == null) { throw new IllegalStateException("No Hibernate CacheProvider found - " + "'cacheProvider' property must be set on LocalSessionFactoryBean"); } this.cacheProvider = cp; }
@Test @SuppressWarnings("serial") public void testLocalSessionFactoryBeanWithCacheProvider() throws Exception { final CacheProvider cacheProvider = new NoCacheProvider(); final List invocations = new ArrayList(); LocalSessionFactoryBean sfb = new LocalSessionFactoryBean() { @Override protected Configuration newConfiguration() { return new Configuration() { @Override public Configuration addInputStream(InputStream is) { try { is.close(); } catch (IOException ex) { } invocations.add("addResource"); return this; } }; } @Override protected SessionFactory newSessionFactory(Configuration config) { assertEquals(LocalCacheProviderProxy.class.getName(), config.getProperty(Environment.CACHE_PROVIDER)); assertSame(cacheProvider, LocalSessionFactoryBean.getConfigTimeCacheProvider()); invocations.add("newSessionFactory"); return null; } }; sfb.setCacheProvider(cacheProvider); sfb.afterPropertiesSet(); assertTrue(sfb.getConfiguration() != null); assertEquals("newSessionFactory", invocations.get(0)); }
public CacheProvider getCacheProvider() { return cacheProvider; }
void setCacheProvider(CacheProvider cacheProvider) { this.cacheProvider = cacheProvider; }