Class CoherenceRegionFactory
java.lang.Object
org.hibernate.cache.spi.AbstractRegionFactory
org.hibernate.cache.spi.support.RegionFactoryTemplate
com.oracle.coherence.hibernate.cache.v6.CoherenceRegionFactory
- All Implemented Interfaces:
Serializable
,org.hibernate.cache.spi.RegionFactory
,org.hibernate.service.Service
,org.hibernate.service.spi.Stoppable
public class CoherenceRegionFactory
extends org.hibernate.cache.spi.support.RegionFactoryTemplate
A CoherenceRegionFactory is a factory for regions of Hibernate second-level cache implemented with Oracle Coherence.
- Since:
- 2.1
- Author:
- Randy Stafford, Gunnar Hillert
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionprotected com.tangosol.net.Session
protected CoherenceHibernateSystemPropertyResolver
Fields inherited from class org.hibernate.cache.spi.AbstractRegionFactory
LEGACY_QUERY_RESULTS_REGION_UNQUALIFIED_NAMES, LEGACY_UPDATE_TIMESTAMPS_REGION_UNQUALIFIED_NAMES
Fields inherited from interface org.hibernate.cache.spi.RegionFactory
DEFAULT_QUERY_RESULTS_REGION_UNQUALIFIED_NAME, DEFAULT_UPDATE_TIMESTAMPS_REGION_UNQUALIFIED_NAME
-
Constructor Summary
ConstructorDescriptionDefault constructor.CoherenceRegionFactory
(com.tangosol.net.Session coherenceSession) Constructor that allows to pass-in an externally created CoherenceSession
. -
Method Summary
Modifier and TypeMethodDescriptionorg.hibernate.cache.spi.DomainDataRegion
buildDomainDataRegion
(org.hibernate.cache.cfg.spi.DomainDataRegionConfig regionConfig, org.hibernate.cache.cfg.spi.DomainDataRegionBuildingContext buildingContext) protected CoherenceRegion
createCoherenceRegion
(String unqualifiedRegionName, org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory) protected org.hibernate.cache.spi.support.DomainDataStorageAccess
createDomainDataStorageAccess
(org.hibernate.cache.cfg.spi.DomainDataRegionConfig regionConfig, org.hibernate.cache.cfg.spi.DomainDataRegionBuildingContext buildingContext) protected org.hibernate.cache.spi.support.StorageAccess
createQueryResultsRegionStorageAccess
(String regionName, org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory) protected org.hibernate.cache.spi.support.StorageAccess
createTimestampsRegionStorageAccess
(String regionName, org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory) protected com.tangosol.net.NamedCache<?,
?> ensureNamedCache
(String cacheName) Ensure the initialization of a NamedCache of the argument name.protected com.tangosol.net.Session
Returns the CoherenceSession
used by thisCoherenceRegionFactory
.org.hibernate.cache.spi.access.AccessType
protected org.hibernate.cache.spi.CacheKeysFactory
boolean
long
protected void
prepareForUse
(org.hibernate.boot.spi.SessionFactoryOptions settings, Map configValues) protected void
protected void
setCoherenceSession
(com.tangosol.net.Session coherenceSession) Sets the CoherenceSession
used by thisCoherenceRegionFactory
.toString()
Methods inherited from class org.hibernate.cache.spi.support.RegionFactoryTemplate
buildQueryResultsRegion, buildTimestampsRegion
Methods inherited from class org.hibernate.cache.spi.AbstractRegionFactory
createTransactionContext, getOptions, getTimeout, isStarted, qualify, start, stop, verifiedStartStatus, verifyStarted
-
Field Details
-
systemPropertyResolver
-
coherenceSession
protected transient com.tangosol.net.Session coherenceSession
-
-
Constructor Details
-
CoherenceRegionFactory
public CoherenceRegionFactory()Default constructor. Any Coherence instances created will implicitly require a shutdown of Coherence whenAbstractRegionFactory.stop()
is called viareleaseFromUse()
. This option will by default start Coherence as a Cache client. This means that Coherence services are disabled by default (e.g. Local Storage). You can start Coherence as a CacheServer and local storage will be enabled by default and all default services will be started as well. Please provide propertyCoherenceHibernateProperties.START_CACHE_SERVER_PROPERTY_NAME
-
CoherenceRegionFactory
public CoherenceRegionFactory(com.tangosol.net.Session coherenceSession) Constructor that allows to pass-in an externally created CoherenceSession
. In this case the external caller is responsible for any needed Coherence shut-downs whenAbstractRegionFactory.stop()
is called viareleaseFromUse()
. This means that call toAbstractRegionFactory.stop()
will NOT result in a shutdown of Coherence; only theSession
is closed.- Parameters:
coherenceSession
- must not be null
-
-
Method Details
-
getImplicitCacheKeysFactory
protected org.hibernate.cache.spi.CacheKeysFactory getImplicitCacheKeysFactory()- Overrides:
getImplicitCacheKeysFactory
in classorg.hibernate.cache.spi.support.RegionFactoryTemplate
-
getCoherenceSession
protected com.tangosol.net.Session getCoherenceSession()Returns the CoherenceSession
used by thisCoherenceRegionFactory
.- Returns:
- the Coherence
Session
-
setCoherenceSession
protected void setCoherenceSession(com.tangosol.net.Session coherenceSession) Sets the CoherenceSession
used by thisCoherenceRegionFactory
.- Parameters:
coherenceSession
- the CoherenceSession
used by this CoherenceRegionFactory. May be null.
-
toString
-
prepareForUse
protected void prepareForUse(org.hibernate.boot.spi.SessionFactoryOptions settings, Map configValues) - Specified by:
prepareForUse
in classorg.hibernate.cache.spi.AbstractRegionFactory
-
releaseFromUse
protected void releaseFromUse()- Specified by:
releaseFromUse
in classorg.hibernate.cache.spi.AbstractRegionFactory
-
isMinimalPutsEnabledByDefault
public boolean isMinimalPutsEnabledByDefault()see also https://stackoverflow.com/a/12389310/835934
- Specified by:
isMinimalPutsEnabledByDefault
in interfaceorg.hibernate.cache.spi.RegionFactory
- Overrides:
isMinimalPutsEnabledByDefault
in classorg.hibernate.cache.spi.AbstractRegionFactory
-
getDefaultAccessType
public org.hibernate.cache.spi.access.AccessType getDefaultAccessType()- Specified by:
getDefaultAccessType
in interfaceorg.hibernate.cache.spi.RegionFactory
- Overrides:
getDefaultAccessType
in classorg.hibernate.cache.spi.AbstractRegionFactory
-
nextTimestamp
public long nextTimestamp()- Specified by:
nextTimestamp
in interfaceorg.hibernate.cache.spi.RegionFactory
- Overrides:
nextTimestamp
in classorg.hibernate.cache.spi.AbstractRegionFactory
-
ensureNamedCache
Ensure the initialization of a NamedCache of the argument name.- Parameters:
cacheName
- the name of the NamedCache whose initialization to ensure- Returns:
- a NamedCache for the argument name
-
createDomainDataStorageAccess
protected org.hibernate.cache.spi.support.DomainDataStorageAccess createDomainDataStorageAccess(org.hibernate.cache.cfg.spi.DomainDataRegionConfig regionConfig, org.hibernate.cache.cfg.spi.DomainDataRegionBuildingContext buildingContext) - Overrides:
createDomainDataStorageAccess
in classorg.hibernate.cache.spi.support.RegionFactoryTemplate
-
createTimestampsRegionStorageAccess
protected org.hibernate.cache.spi.support.StorageAccess createTimestampsRegionStorageAccess(String regionName, org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory) - Specified by:
createTimestampsRegionStorageAccess
in classorg.hibernate.cache.spi.support.RegionFactoryTemplate
-
createQueryResultsRegionStorageAccess
protected org.hibernate.cache.spi.support.StorageAccess createQueryResultsRegionStorageAccess(String regionName, org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory) - Specified by:
createQueryResultsRegionStorageAccess
in classorg.hibernate.cache.spi.support.RegionFactoryTemplate
-
createCoherenceRegion
protected CoherenceRegion createCoherenceRegion(String unqualifiedRegionName, org.hibernate.engine.spi.SessionFactoryImplementor sessionFactory) -
buildDomainDataRegion
public org.hibernate.cache.spi.DomainDataRegion buildDomainDataRegion(org.hibernate.cache.cfg.spi.DomainDataRegionConfig regionConfig, org.hibernate.cache.cfg.spi.DomainDataRegionBuildingContext buildingContext) - Specified by:
buildDomainDataRegion
in interfaceorg.hibernate.cache.spi.RegionFactory
- Overrides:
buildDomainDataRegion
in classorg.hibernate.cache.spi.support.RegionFactoryTemplate
-