Class CoherenceRegionFactory
- java.lang.Object
-
- org.hibernate.cache.spi.AbstractRegionFactory
-
- org.hibernate.cache.spi.support.RegionFactoryTemplate
-
- com.oracle.coherence.hibernate.cache.v53.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:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected com.tangosol.net.Session
coherenceSession
protected CoherenceHibernateSystemPropertyResolver
systemPropertyResolver
-
Constructor Summary
Constructors Constructor Description CoherenceRegionFactory()
Default constructor.CoherenceRegionFactory(com.tangosol.net.Session coherenceSession)
Constructor that allows to pass-in an externally created CoherenceSession
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.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
getCoherenceSession()
Returns the CoherenceSession
used by thisCoherenceRegionFactory
.org.hibernate.cache.spi.access.AccessType
getDefaultAccessType()
protected org.hibernate.cache.spi.CacheKeysFactory
getImplicitCacheKeysFactory()
boolean
isMinimalPutsEnabledByDefault()
long
nextTimestamp()
protected void
prepareForUse(org.hibernate.boot.spi.SessionFactoryOptions settings, Map configValues)
protected void
releaseFromUse()
protected void
setCoherenceSession(com.tangosol.net.Session coherenceSession)
Sets the CoherenceSession
used by thisCoherenceRegionFactory
.String
toString()
-
Methods inherited from class org.hibernate.cache.spi.support.RegionFactoryTemplate
buildQueryResultsRegion, buildTimestampsRegion
-
-
-
-
Field Detail
-
systemPropertyResolver
protected CoherenceHibernateSystemPropertyResolver systemPropertyResolver
-
coherenceSession
protected com.tangosol.net.Session coherenceSession
-
-
Constructor Detail
-
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 Detail
-
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.
-
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
protected com.tangosol.net.NamedCache<?,?> ensureNamedCache(String cacheName)
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
-
-