public interface RegionFactory extends Service, Stoppable
Contract for building second level cache regions.
<p/>
Implementors should define a constructor in one of two forms:<ul>
<li>MyRegionFactoryImpl(Properties
)</li>
<li>MyRegionFactoryImpl()</li>
</ul>
Use the first when we need to read config properties prior to
start(org.hibernate.boot.spi.SessionFactoryOptions, java.util.Map)
being called.
Modifier and Type | Field and Description |
---|---|
static String |
DEFAULT_QUERY_RESULTS_REGION_UNQUALIFIED_NAME |
static String |
DEFAULT_UPDATE_TIMESTAMPS_REGION_UNQUALIFIED_NAME |
Modifier and Type | Method and Description |
---|---|
DomainDataRegion |
buildDomainDataRegion(DomainDataRegionConfig regionConfig,
DomainDataRegionBuildingContext buildingContext)
Create a named Region for holding domain model data
|
QueryResultsRegion |
buildQueryResultsRegion(String regionName,
SessionFactoryImplementor sessionFactory) |
TimestampsRegion |
buildTimestampsRegion(String regionName,
SessionFactoryImplementor sessionFactory) |
default CacheTransactionSynchronization |
createTransactionContext(SharedSessionContractImplementor session) |
AccessType |
getDefaultAccessType()
Get the default access type for any "user model" data
|
default long |
getTimeout() |
boolean |
isMinimalPutsEnabledByDefault()
By default should we perform "minimal puts" when using this second
level cache implementation?
|
long |
nextTimestamp()
Generate a timestamp.
|
String |
qualify(String regionName) |
void |
start(SessionFactoryOptions settings,
Map configValues)
Lifecycle callback to perform any necessary initialization of the
underlying cache provider.
|
static final String DEFAULT_QUERY_RESULTS_REGION_UNQUALIFIED_NAME
static final String DEFAULT_UPDATE_TIMESTAMPS_REGION_UNQUALIFIED_NAME
void start(SessionFactoryOptions settings, Map configValues) throws CacheException
Lifecycle callback to perform any necessary initialization of the
underlying cache provider. Called exactly once during the
construction of a SessionFactoryImpl
.
settings
- The settings in effect.configValues
- The available config valuesCacheException
- Indicates problems starting the L2 cache impl;
considered as a sign to stop SessionFactory
building.boolean isMinimalPutsEnabledByDefault()
By default should we perform "minimal puts" when using this second level cache implementation?
AccessType getDefaultAccessType()
Get the default access type for any "user model" data
default CacheTransactionSynchronization createTransactionContext(SharedSessionContractImplementor session)
long nextTimestamp()
Generate a timestamp. This value is generally used for purpose of
locking/unlocking cache content depending upon the access-strategy being
used. The intended consumer of this method is the Session to manage
its SharedSessionContractImplementor.getTransactionStartTimestamp()
value.
It is also expected that this be the value used for this’s RegionFactory’s CacheTransactionContext
default long getTimeout()
DomainDataRegion buildDomainDataRegion(DomainDataRegionConfig regionConfig, DomainDataRegionBuildingContext buildingContext)
Create a named Region for holding domain model data
regionConfig
- The user requested caching configuration for this RegionbuildingContext
- Access to delegates useful in building the RegionQueryResultsRegion buildQueryResultsRegion(String regionName, SessionFactoryImplementor sessionFactory)
TimestampsRegion buildTimestampsRegion(String regionName, SessionFactoryImplementor sessionFactory)
Copyright © 2001-2018 Red Hat, Inc. All Rights Reserved.