ehcache

net.sf.ehcache.hibernate
Class EhCacheRegionFactory

java.lang.Object
  extended by net.sf.ehcache.hibernate.EhCacheRegionFactory
All Implemented Interfaces:
org.hibernate.cache.RegionFactory

public class EhCacheRegionFactory
extends java.lang.Object

A non-singleton EhCacheRegionFactory implementation.

Author:
Chris Dennis, Greg Luck, Emmanuel Bernard

Field Summary
protected  CacheManager manager
          Ehcache CacheManager that supplied Ehcache instances for this Hibernate RegionFactory.
protected  ProviderMBeanRegistrationHelper mbeanRegistrationHelper
          MBean registration helper class instance for Ehcache Hibernate MBeans.
static java.lang.String NET_SF_EHCACHE_CONFIGURATION_RESOURCE_NAME
          The Hibernate system property specifying the location of the ehcache configuration file name.
protected  org.hibernate.cfg.Settings settings
          Settings object for the Hibernate persistence unit.
 
Constructor Summary
EhCacheRegionFactory(java.util.Properties prop)
          Creates a non-singleton EhCacheRegionFactory
 
Method Summary
 org.hibernate.cache.CollectionRegion buildCollectionRegion(java.lang.String regionName, java.util.Properties properties, org.hibernate.cache.CacheDataDescription metadata)
          
 org.hibernate.cache.EntityRegion buildEntityRegion(java.lang.String regionName, java.util.Properties properties, org.hibernate.cache.CacheDataDescription metadata)
          
 org.hibernate.cache.QueryResultsRegion buildQueryResultsRegion(java.lang.String regionName, java.util.Properties properties)
          
 org.hibernate.cache.TimestampsRegion buildTimestampsRegion(java.lang.String regionName, java.util.Properties properties)
          
 org.hibernate.cache.access.AccessType getDefaultAccessType()
          Default access-type used when the configured using JPA 2.0 config.
 boolean isMinimalPutsEnabledByDefault()
          
protected static java.net.URL loadResource(java.lang.String configurationResourceName)
          Load a resource from the classpath.
 long nextTimestamp()
          
 void start(org.hibernate.cfg.Settings settings, java.util.Properties properties)
          
 void stop()
          
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

NET_SF_EHCACHE_CONFIGURATION_RESOURCE_NAME

public static final java.lang.String NET_SF_EHCACHE_CONFIGURATION_RESOURCE_NAME
The Hibernate system property specifying the location of the ehcache configuration file name.

If not set, ehcache.xml will be looked for in the root of the classpath.

If set to say ehcache-1.xml, ehcache-1.xml will be looked for in the root of the classpath.

See Also:
Constant Field Values

mbeanRegistrationHelper

protected final ProviderMBeanRegistrationHelper mbeanRegistrationHelper
MBean registration helper class instance for Ehcache Hibernate MBeans.


manager

protected volatile CacheManager manager
Ehcache CacheManager that supplied Ehcache instances for this Hibernate RegionFactory.


settings

protected org.hibernate.cfg.Settings settings
Settings object for the Hibernate persistence unit.

Constructor Detail

EhCacheRegionFactory

public EhCacheRegionFactory(java.util.Properties prop)
Creates a non-singleton EhCacheRegionFactory

Method Detail

start

public void start(org.hibernate.cfg.Settings settings,
                  java.util.Properties properties)
           throws org.hibernate.cache.CacheException

Throws:
org.hibernate.cache.CacheException

stop

public void stop()


isMinimalPutsEnabledByDefault

public boolean isMinimalPutsEnabledByDefault()

Specified by:
isMinimalPutsEnabledByDefault in interface org.hibernate.cache.RegionFactory

nextTimestamp

public long nextTimestamp()

Specified by:
nextTimestamp in interface org.hibernate.cache.RegionFactory

buildEntityRegion

public org.hibernate.cache.EntityRegion buildEntityRegion(java.lang.String regionName,
                                                          java.util.Properties properties,
                                                          org.hibernate.cache.CacheDataDescription metadata)
                                                   throws org.hibernate.cache.CacheException

Specified by:
buildEntityRegion in interface org.hibernate.cache.RegionFactory
Throws:
org.hibernate.cache.CacheException

buildCollectionRegion

public org.hibernate.cache.CollectionRegion buildCollectionRegion(java.lang.String regionName,
                                                                  java.util.Properties properties,
                                                                  org.hibernate.cache.CacheDataDescription metadata)
                                                           throws org.hibernate.cache.CacheException

Specified by:
buildCollectionRegion in interface org.hibernate.cache.RegionFactory
Throws:
org.hibernate.cache.CacheException

buildQueryResultsRegion

public org.hibernate.cache.QueryResultsRegion buildQueryResultsRegion(java.lang.String regionName,
                                                                      java.util.Properties properties)
                                                               throws org.hibernate.cache.CacheException

Specified by:
buildQueryResultsRegion in interface org.hibernate.cache.RegionFactory
Throws:
org.hibernate.cache.CacheException

buildTimestampsRegion

public org.hibernate.cache.TimestampsRegion buildTimestampsRegion(java.lang.String regionName,
                                                                  java.util.Properties properties)
                                                           throws org.hibernate.cache.CacheException

Specified by:
buildTimestampsRegion in interface org.hibernate.cache.RegionFactory
Throws:
org.hibernate.cache.CacheException

loadResource

protected static java.net.URL loadResource(java.lang.String configurationResourceName)
Load a resource from the classpath.


getDefaultAccessType

public org.hibernate.cache.access.AccessType getDefaultAccessType()
Default access-type used when the configured using JPA 2.0 config. JPA 2.0 allows @Cacheable(true) to be attached to an entity without any access type or usage qualification.

We are conservative here in specifying AccessType.READ_WRITE so as to follow the mantra of "do no harm".

This is a Hibernate 3.5 method.


ehcache

true