Java 类org.hibernate.cache.RegionFactory 实例源码
项目:hazelcast-archive
文件:RegionFactoryHazelcastAccessor.java
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;
}
项目:health-and-care-developer-network
文件:RegionFactoryHazelcastAccessor.java
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;
}
项目:lams
文件:LocalRegionFactoryProxy.java
/**
* Standard constructor.
*/
public LocalRegionFactoryProxy() {
RegionFactory rf = (RegionFactory) LocalSessionFactoryBean.getConfigTimeRegionFactory();
// absolutely needs thread-bound RegionFactory to initialize
if (rf == null) {
throw new IllegalStateException("No Hibernate RegionFactory found - " +
"'cacheRegionFactory' property must be set on LocalSessionFactoryBean");
}
this.regionFactory = rf;
}
项目:spring4-understanding
文件:LocalRegionFactoryProxy.java
/**
* Standard constructor.
*/
public LocalRegionFactoryProxy() {
RegionFactory rf = (RegionFactory) LocalSessionFactoryBean.getConfigTimeRegionFactory();
// absolutely needs thread-bound RegionFactory to initialize
if (rf == null) {
throw new IllegalStateException("No Hibernate RegionFactory found - " +
"'cacheRegionFactory' property must be set on LocalSessionFactoryBean");
}
this.regionFactory = rf;
}
项目:spring4-understanding
文件:LocalSessionFactoryBeanTests.java
@Test
@SuppressWarnings("serial")
public void testLocalSessionFactoryBeanWithCacheRegionFactory() throws Exception {
final RegionFactory regionFactory = new NoCachingRegionFactory(null);
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(LocalRegionFactoryProxy.class.getName(),
config.getProperty(Environment.CACHE_REGION_FACTORY));
assertSame(regionFactory, LocalSessionFactoryBean.getConfigTimeRegionFactory());
invocations.add("newSessionFactory");
return null;
}
};
sfb.setCacheRegionFactory(regionFactory);
sfb.afterPropertiesSet();
assertTrue(sfb.getConfiguration() != null);
assertEquals("newSessionFactory", invocations.get(0));
}
项目:hazelcast-hibernate
文件:HazelcastAccessor.java
/**
* Tries to extract <code>HazelcastInstance</code> from <code>SessionFactoryImplementor</code>.
*
* @param sessionFactory Hibernate <code>SessionFactory</code> to extract settings from
* @return currently used <code>HazelcastInstance</code> or null if an error occurs.
*/
public static HazelcastInstance getHazelcastInstance(final SessionFactoryImplementor sessionFactory) {
final Settings settings = sessionFactory.getSettings();
final RegionFactory rf = settings.getRegionFactory();
if (rf instanceof AbstractHazelcastCacheRegionFactory) {
return ((AbstractHazelcastCacheRegionFactory) rf).getHazelcastInstance();
} else {
LOGGER.warning("Current 2nd level cache implementation is not HazelcastCacheRegionFactory!");
}
return null;
}
项目:class-guard
文件:LocalRegionFactoryProxy.java
/**
* Standard constructor.
*/
public LocalRegionFactoryProxy() {
RegionFactory rf = (RegionFactory) LocalSessionFactoryBean.getConfigTimeRegionFactory();
// absolutely needs thread-bound RegionFactory to initialize
if (rf == null) {
throw new IllegalStateException("No Hibernate RegionFactory found - " +
"'cacheRegionFactory' property must be set on LocalSessionFactoryBean");
}
this.regionFactory = rf;
}
项目:class-guard
文件:LocalRegionFactoryProxy.java
public AccessType getDefaultAccessType() {
try {
Method method = RegionFactory.class.getMethod("getDefaultAccessType");
return (AccessType) ReflectionUtils.invokeMethod(method, this.regionFactory);
}
catch (NoSuchMethodException ex) {
throw new IllegalStateException("getDefaultAccessType requires Hibernate 3.5+");
}
}
项目:class-guard
文件:LocalSessionFactoryBeanTests.java
@Test
@SuppressWarnings("serial")
public void testLocalSessionFactoryBeanWithCacheRegionFactory() throws Exception {
final RegionFactory regionFactory = new NoCachingRegionFactory(null);
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(LocalRegionFactoryProxy.class.getName(),
config.getProperty(Environment.CACHE_REGION_FACTORY));
assertSame(regionFactory, LocalSessionFactoryBean.getConfigTimeRegionFactory());
invocations.add("newSessionFactory");
return null;
}
};
sfb.setCacheRegionFactory(regionFactory);
sfb.afterPropertiesSet();
assertTrue(sfb.getConfiguration() != null);
assertEquals("newSessionFactory", invocations.get(0));
}
项目:open-cyclos
文件:EhCacheCacheManager.java
@Override
public void afterPropertiesSet() throws Exception {
// Attempt to get the same EHCache cache manager from the session factory
try {
// Dirty little trick using reflection
RegionFactory regionFactory = sessionFactory.getSettings().getRegionFactory();
ehCacheManager = (net.sf.ehcache.CacheManager) FieldUtils.readField(regionFactory, "manager", true);
} catch (Exception e) {
// It was not possible. Fallback to the default cache manager
ehCacheManager = new net.sf.ehcache.CacheManager();
cleanUpEhCache = true;
}
}
项目:lams
文件:LocalSessionFactoryBean.java
/**
* Set the Hibernate RegionFactory to use for the SessionFactory.
* Allows for using a Spring-managed RegionFactory instance.
* <p>Note: If this is set, the Hibernate settings should not define a
* cache provider to avoid meaningless double configuration.
* @see org.hibernate.cache.RegionFactory
*/
public void setCacheRegionFactory(RegionFactory cacheRegionFactory) {
this.cacheRegionFactory = cacheRegionFactory;
}
项目:spring4-understanding
文件:LocalSessionFactoryBean.java
/**
* Set the Hibernate RegionFactory to use for the SessionFactory.
* Allows for using a Spring-managed RegionFactory instance.
* <p>Note: If this is set, the Hibernate settings should not define a
* cache provider to avoid meaningless double configuration.
* @see org.hibernate.cache.RegionFactory
*/
public void setCacheRegionFactory(RegionFactory cacheRegionFactory) {
this.cacheRegionFactory = cacheRegionFactory;
}