Package org.hibernate.cache
Interface RegionFactory
- All Known Implementing Classes:
NoCachingRegionFactory,RegionFactoryCacheProviderBridge
public interface RegionFactory
Contract for building second level cache regions.
Implementors should define a constructor in one of two forms:
- MyRegionFactoryImpl(
Properties) - MyRegionFactoryImpl()
start(org.hibernate.cfg.Settings, java.util.Properties) being called. For an example, have a look at
RegionFactoryCacheProviderBridge
where we need the properties in order to determine which legacy
CacheProvider to use so that we can answer the
isMinimalPutsEnabledByDefault() question for the
SettingsFactory.-
Method Summary
Modifier and TypeMethodDescriptionbuildCollectionRegion(String regionName, Properties properties, CacheDataDescription metadata) Build a cache region specialized for storing collection data.buildEntityRegion(String regionName, Properties properties, CacheDataDescription metadata) Build a cache region specialized for storing entity data.buildQueryResultsRegion(String regionName, Properties properties) Build a cache region specialized for storing query resultsbuildTimestampsRegion(String regionName, Properties properties) Build a cache region specialized for storing update-timestamps data.Get the default access type forentityandcollectionregions.booleanBy default should we perform "minimal puts" when using this second level cache implementation?longGenerate a timestamp.voidstart(Settings settings, Properties properties) Lifecycle callback to perform any necessary initialization of the underlying cache implementation(s).voidstop()Lifecycle callback to perform any necessary cleanup of the underlying cache implementation(s).
-
Method Details
-
start
Lifecycle callback to perform any necessary initialization of the underlying cache implementation(s). Called exactly once during the construction of aSessionFactoryImpl.- Parameters:
settings- The settings in effect.properties- The defined cfg properties- Throws:
CacheException- Indicates problems starting the L2 cache impl; considered as a sign to stopSessionFactorybuilding.
-
stop
void stop()Lifecycle callback to perform any necessary cleanup of the underlying cache implementation(s). Called exactly once duringSessionFactory.close(). -
isMinimalPutsEnabledByDefault
boolean isMinimalPutsEnabledByDefault()By default should we perform "minimal puts" when using this second level cache implementation?- Returns:
- True if "minimal puts" should be performed by default; false otherwise.
-
getDefaultAccessType
AccessType getDefaultAccessType()Get the default access type forentityandcollectionregions.- Returns:
- This factory's default access type.
-
nextTimestamp
long nextTimestamp()Generate a timestamp. This is generally used for cache content locking/unlocking purposes depending upon the access-strategy being used.- Returns:
- The generated timestamp.
-
buildEntityRegion
EntityRegion buildEntityRegion(String regionName, Properties properties, CacheDataDescription metadata) throws CacheException Build a cache region specialized for storing entity data.- Parameters:
regionName- The name of the region.properties- Configuration properties.metadata- Information regarding the type of data to be cached- Returns:
- The built region
- Throws:
CacheException- Indicates problems building the region.
-
buildCollectionRegion
CollectionRegion buildCollectionRegion(String regionName, Properties properties, CacheDataDescription metadata) throws CacheException Build a cache region specialized for storing collection data.- Parameters:
regionName- The name of the region.properties- Configuration properties.metadata- Information regarding the type of data to be cached- Returns:
- The built region
- Throws:
CacheException- Indicates problems building the region.
-
buildQueryResultsRegion
QueryResultsRegion buildQueryResultsRegion(String regionName, Properties properties) throws CacheException Build a cache region specialized for storing query results- Parameters:
regionName- The name of the region.properties- Configuration properties.- Returns:
- The built region
- Throws:
CacheException- Indicates problems building the region.
-
buildTimestampsRegion
TimestampsRegion buildTimestampsRegion(String regionName, Properties properties) throws CacheException Build a cache region specialized for storing update-timestamps data.- Parameters:
regionName- The name of the region.properties- Configuration properties.- Returns:
- The built region
- Throws:
CacheException- Indicates problems building the region.
-