ehcache

net.sf.ehcache.hibernate
Class SingletonEhCacheRegionFactory

java.lang.Object
  extended by net.sf.ehcache.hibernate.SingletonEhCacheRegionFactory

public class SingletonEhCacheRegionFactory
extends Object

A singleton EhCacheRegionFactory implementation.

Author:
Chris Dennis, Greg Luck, Emmanuel Bernard

Field Summary
protected  EhcacheAccessStrategyFactory accessStrategyFactory
          EhcacheAccessStrategyFactory for creating various access strategies
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 String NET_SF_EHCACHE_CACHE_MANAGER_NAME
          The Hibernate system property specifying the name of the CacheManager being created.
static String NET_SF_EHCACHE_CONFIGURATION_RESOURCE_NAME
          The Hibernate system property specifying the location of the ehcache configuration file name.
protected  Settings settings
          Settings object for the Hibernate persistence unit.
 
Constructor Summary
SingletonEhCacheRegionFactory(Properties prop)
          Returns a representation of the singleton EhCacheRegionFactory
 
Method Summary
 CollectionRegion buildCollectionRegion(String regionName, Properties properties, CacheDataDescription metadata)
          
 EntityRegion buildEntityRegion(String regionName, Properties properties, CacheDataDescription metadata)
          
 QueryResultsRegion buildQueryResultsRegion(String regionName, Properties properties)
          
 TimestampsRegion buildTimestampsRegion(String regionName, Properties properties)
          
 AccessType getDefaultAccessType()
          Default access-type used when the configured using JPA 2.0 config.
 boolean isMinimalPutsEnabledByDefault()
          Whether to optimize for minimals puts or minimal gets.
protected static URL loadResource(String configurationResourceName)
          Load a resource from the classpath.
 long nextTimestamp()
          
 void start(Settings settings, 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 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

NET_SF_EHCACHE_CACHE_MANAGER_NAME

public static final String NET_SF_EHCACHE_CACHE_MANAGER_NAME
The Hibernate system property specifying the name of the CacheManager being created.

If not set, it will either use the ehcache.xml to name the CacheManager, or fallback to default CacheManager naming.

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 Settings settings
Settings object for the Hibernate persistence unit.


accessStrategyFactory

protected final EhcacheAccessStrategyFactory accessStrategyFactory
EhcacheAccessStrategyFactory for creating various access strategies

Constructor Detail

SingletonEhCacheRegionFactory

public SingletonEhCacheRegionFactory(Properties prop)
Returns a representation of the singleton EhCacheRegionFactory

Method Detail

start

public void start(Settings settings,
                  Properties properties)
           throws CacheException

Throws:
CacheException

stop

public void stop()


isMinimalPutsEnabledByDefault

public boolean isMinimalPutsEnabledByDefault()
Whether to optimize for minimals puts or minimal gets.

Indicates whether when operating in non-strict read/write or read-only mode Hibernate should optimize the access patterns for minimal puts or minimal gets. In Ehcache we default to minimal puts since this should have minimal to no affect on unclustered users, and has great benefit for clustered users.

This setting can be overridden by setting the "hibernate.cache.use_minimal_puts" property in the Hibernate configuration.

Returns:
true, optimize for minimal puts

nextTimestamp

public long nextTimestamp()


buildEntityRegion

public EntityRegion buildEntityRegion(String regionName,
                                      Properties properties,
                                      CacheDataDescription metadata)
                               throws CacheException

Throws:
CacheException

buildCollectionRegion

public CollectionRegion buildCollectionRegion(String regionName,
                                              Properties properties,
                                              CacheDataDescription metadata)
                                       throws CacheException

Throws:
CacheException

buildQueryResultsRegion

public QueryResultsRegion buildQueryResultsRegion(String regionName,
                                                  Properties properties)
                                           throws CacheException

Throws:
CacheException

buildTimestampsRegion

public TimestampsRegion buildTimestampsRegion(String regionName,
                                              Properties properties)
                                       throws CacheException

Throws:
CacheException

loadResource

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


getDefaultAccessType

public 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

Copyright 2001-2014, Terracotta, Inc.