Top Description Fields Constructors Methods
org.eclipse.persistence.internal.identitymaps

public Class IdentityMapManager

extends Object
implements Serializable, Cloneable
Class Inheritance
All Implemented Interfaces
java.lang.Cloneable, java.io.Serializable
Imports
java.io.PrintWriter, .Serializable, .StringWriter, java.lang.reflect.Constructor, java.util.Enumeration, .HashMap, .HashSet, .Iterator, .List, .Map, .Set, .Vector, java.util.concurrent.ConcurrentHashMap, .ConcurrentMap, org.eclipse.persistence.config.ReferenceMode, org.eclipse.persistence.descriptors.CacheIndex, .ClassDescriptor, org.eclipse.persistence.descriptors.invalidation.CacheInvalidationPolicy, org.eclipse.persistence.exceptions.DescriptorException, .EclipseLinkException, .QueryException, .ValidationException, org.eclipse.persistence.expressions.Expression, .ExpressionBuilder, org.eclipse.persistence.internal.descriptors.ObjectBuilder, org.eclipse.persistence.internal.helper.ClassConstants, .ConcurrencyManager, .DeferredLockManager, .Helper, .InvalidObject, .WriteLockManager, org.eclipse.persistence.internal.localization.LoggingLocalization, .TraceLocalization, org.eclipse.persistence.internal.security.PrivilegedAccessHelper, org.eclipse.persistence.internal.sessions.AbstractRecord, .AbstractSession, .UnitOfWorkImpl, org.eclipse.persistence.logging.SessionLog, org.eclipse.persistence.queries.InMemoryQueryIndirectionPolicy, .ObjectLevelReadQuery, .ReadQuery, org.eclipse.persistence.sessions.DataRecord, .SessionProfiler, org.eclipse.persistence.sessions.interceptors.CacheInterceptor

Purpose: Maintain identity maps for domain classes mapped with EclipseLink.

Responsibilities:

Since
TOPLink/Java 1.0

Field Summary

Modifier and TypeField and Description
protected Map<CacheIndex, IdentityMap>
cacheIndexes

A map of indexes on the cache.

protected transient ConcurrencyManager
cacheMutex

Ensure mutual exclusion depending on the cache isolation.

protected Map<Class<?>, IdentityMap>
identityMaps

A table of identity maps with the key being the domain Class.

protected boolean
isCacheAccessPreCheckRequired

PERF: Used to avoid readLock and profiler checks to improve performance.

protected IdentityMap
lastAccessedIdentityMap

PERF: Optimize the object retrieval from the identity map.

protected static final String
protected Map<Object, IdentityMap>
queryResults

A table of identity maps with the key being the query

protected Map<Class<?>, Set<E>>
queryResultsInvalidationsByClass

A map of class to list of queries that need to be invalidated when that class changes.

protected AbstractSession
session

A reference to the session owning this manager.

protected transient WriteLockManager
writeLockManager

Used to store the write lock manager used for merging.

Constructor Summary

AccessConstructor and Description
protected
public

Method Summary

Modifier and TypeMethod and Description
public CacheKey
acquireDeferredLock(Object primaryKey, Class<?> domainClass, ClassDescriptor descriptor, boolean isCacheCheckComplete)

Provides access for setting a deferred lock on an object in the IdentityMap.

public CacheKey
acquireLock(Object primaryKey, Class<?> domainClass, boolean forMerge, ClassDescriptor descriptor, boolean isCacheCheckComplete)

Provides access for setting a concurrency lock on an object in the IdentityMap.

public CacheKey
acquireLockNoWait(Object primaryKey, Class<?> domainClass, boolean forMerge, ClassDescriptor descriptor)

Provides access for setting a concurrency lock on an object in the IdentityMap.

public CacheKey
acquireLockWithWait(Object primaryKey, Class<?> domainClass, boolean forMerge, ClassDescriptor descriptor, int wait)

Provides access for setting a concurrency lock on an object in the IdentityMap.

public void
acquireReadLock()

Provides access for setting a concurrency lock on an IdentityMap.

public CacheKey
acquireReadLockOnCacheKey(Object primaryKey, Class<?> domainClass, ClassDescriptor descriptor)

INTERNAL: Find the cachekey for the provided primary key and place a readlock on it.

public CacheKey
acquireReadLockOnCacheKeyNoWait(Object primaryKey, Class<?> domainClass, ClassDescriptor descriptor)

INTERNAL: Find the cachekey for the provided primary key and place a readlock on it.

public boolean
acquireWriteLock()

Lock the entire cache if the cache isolation requires.

public IdentityMap
buildNewIdentityMap(ClassDescriptor descriptor)

INTERNAL: (Public to allow testing to access) Return a new empty identity map to cache instances of the class.

protected <T extends IdentityMap> IdentityMap
buildNewIdentityMap(final Class<T> identityMapClass, final int size, final ClassDescriptor descriptor, final boolean isIsolated)

INTERNAL: Return a new empty identity map of the class type.

protected Object
checkForInheritance(Object domainObject, Class<?> superClass, ClassDescriptor descriptor)

This method is used to resolve the inheritance issues arisen when conforming from the identity map 1.

public void
checkIsCacheAccessPreCheckRequired()

PERF: Used to micro optimize cache access.

public void
clearCacheIndexes()

Clear all index caches.

public void
clearLastAccessedIdentityMap()

INTERNAL: Clear the the lastAccessedIdentityMap and the lastAccessedIdentityMapClass

public void
clearQueryCache()

Clear all the query caches.

public void
clearQueryCache(ReadQuery query)

Remove the cache key related to a query.

public Object
clone()

Overrides java.lang.Object.clone.

INTERNAL: Clones itself, used for uow commit and resume on failure.
public boolean
containsKey(Object
is the primary key for the object to search for.
key
,
Class<?> theClass, ClassDescriptor descriptor)

Return true if an CacheKey with the primary key is in the map.

public Map<Object, CacheKey>

Returns:

Map of Entity PKs associated to the Entities that were retrieved
getAllCacheKeysFromIdentityMapWithEntityPK
(Object[]
List of Entity PKs to extract from the cache
pkList
,
ClassDescriptor
Descriptor type to be retrieved.
descriptor
,
AbstractSession session)

ADVANCED: Using a list of Entity PK this method will attempt to bulk load the entire list from the cache.

public Vector<E>
getAllFromIdentityMap(Expression selectionCriteria, Class<?> theClass, DataRecord translationRow, int valueHolderPolicy, boolean shouldReturnInvalidatedObjects)

Query the cache in-memory.

public Map<Object, Object>

Returns:

Map of Entity PKs associated to the Entities that were retrieved
getAllFromIdentityMapWithEntityPK
(Object[]
List of Entity PKs to extract from the cache
pkList
,
ClassDescriptor
Descriptor type to be retrieved.
descriptor
,
AbstractSession session)

ADVANCED: Using a list of Entity PK this method will attempt to bulk load the entire list from the cache.

public CacheKey
getCacheKeyByIndex(CacheIndex index, CacheId indexValues, boolean shouldCheckExpiry, ClassDescriptor descriptor)

Return the cache key for the cache index or null if not found.

public CacheKey
getCacheKeyForObject(Object primaryKey, Class<?> theClass, ClassDescriptor descriptor, boolean forMerge)

Retrieve the cache key for the given identity information.

public CacheKey
getCacheKeyForObjectForLock(Object primaryKey, Class<?> theClass, ClassDescriptor descriptor)

Retrieve the cache key for the given identity information.

public ConcurrencyManager
getCacheMutex()

Return the cache mutex.

public Vector<E>
getClassesRegistered()

This method is used to get a list of those classes with IdentityMaps in the Session.

public Object
getFromIdentityMap(Object object)

Get the object from the identity map which has the same identity information as the given object.

public Object
getFromIdentityMap(Object key, Class<?> theClass, ClassDescriptor descriptor)

Get the object from the identity map which has the given primary key and class.

public Object
getFromIdentityMap(Object key, Class<?> theClass, boolean shouldReturnInvalidatedObjects, ClassDescriptor descriptor)

Get the object from the identity map which has the given primary key and class.

public Object
getFromIdentityMap(Expression selectionCriteria, Class<?> theClass, DataRecord translationRow, int valueHolderPolicy, boolean conforming, boolean shouldReturnInvalidatedObjects, ClassDescriptor descriptor)

public Object
getFromIdentityMapWithDeferredLock(Object key, Class<?> theClass, boolean shouldReturnInvalidatedObjects, ClassDescriptor descriptor)

Get the object from the cache with the given primary key and class.

public IdentityMap
getIdentityMap(ClassDescriptor descriptor)

INTERNAL: Return the identity map for the class, if missing create a new one.

public IdentityMap
getIdentityMap(ClassDescriptor descriptor, boolean
if true return null if no map, otherwise create one.
returnNullIfNoMap
)

INTERNAL: Return the identity map for the class.

public Iterator<E>
getIdentityMapClasses()

Return an iterator of the classes in the identity map.

protected Map<Class<?>, IdentityMap>
public Object
getQueryResult(ReadQuery query, List<E> parameters, boolean shouldCheckExpiry)

Get the cached results associated with a query.

protected AbstractSession
public Object
getWrapper(Object primaryKey, Class<?> theClass)

Get the wrapper object from the cache key associated with the given primary key, this is used for EJB.

public WriteLockManager
getWriteLockManager()

Returns the single write Lock manager for this session

public Object
getWriteLockValue(Object primaryKey, Class<?> domainClass, ClassDescriptor descriptor)

Retrieve the write lock value of the cache key associated with the given primary key,

public void
initializeIdentityMap(Class<?> theClass)

Reset the identity map for only the instances of the class.

public void
public void
invalidateObjects(Expression selectionCriteria, Class<?> theClass, DataRecord translationRow, boolean shouldInvalidateOnException)

Invalidate objects meeting selectionCriteria.

public void
invalidateQueryCache(Class<?> classThatChanged)

Invalidate/remove any results for the class from the query cache.

public void
printIdentityMap(Class<?> businessClass)

Used to print all the objects in the identity map of the passed in class.

public void
printIdentityMaps()

Used to print all the objects in every identity map in this session.

public void
printLocks()

Used to print all the Locks in every identity map in this session.

public void
printLocks(Class<?> theClass)

Used to print all the Locks in the specified identity map in this session.

public void
putCacheKeyByIndex(CacheIndex index, CacheId indexValues, CacheKey cacheKey, ClassDescriptor descriptor)

Index the cache key by the index values.

public CacheKey
putInIdentityMap(Object domainObject, Object keys, Object writeLockValue, long readTime, ClassDescriptor descriptor)

Register the object with the identity map.

public void
putQueryResult(ReadQuery query, List<E> parameters, Object results)

Set the results for a query.

protected void
releaseReadLock()

Read-release the local-map and the entire cache.

public void
releaseWriteLock()

Lock the entire cache if the cache isolation requires.

public Object
removeFromIdentityMap(Object key, Class<?> domainClass, ClassDescriptor descriptor, Object objectToRemove)

Remove the object from the object cache.

protected void
setCacheMutex(ConcurrencyManager cacheMutex)

Set the cache mutex.

public void
setIdentityMaps(ConcurrentMap<K, V> identityMaps)

protected void
public void
setWrapper(Object primaryKey, Class<?> theClass, Object wrapper)

Update the wrapper object the cache key associated with the given primary key, this is used for EJB.

public void
setWriteLockValue(Object primaryKey, Class<?> theClass, Object writeLockValue)

Update the write lock value of the cache key associated with the given primary key,

Inherited from java.lang.Object:
equalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

cacheIndexesback to summary
protected Map<CacheIndex, IdentityMap> cacheIndexes

A map of indexes on the cache.

cacheMutexback to summary
protected transient ConcurrencyManager cacheMutex

Ensure mutual exclusion depending on the cache isolation.

identityMapsback to summary
protected Map<Class<?>, IdentityMap> identityMaps

A table of identity maps with the key being the domain Class.

isCacheAccessPreCheckRequiredback to summary
protected boolean isCacheAccessPreCheckRequired

PERF: Used to avoid readLock and profiler checks to improve performance.

lastAccessedIdentityMapback to summary
protected IdentityMap lastAccessedIdentityMap

PERF: Optimize the object retrieval from the identity map.

MONITOR_PREFIXback to summary
protected static final String MONITOR_PREFIX
queryResultsback to summary
protected Map<Object, IdentityMap> queryResults

A table of identity maps with the key being the query

queryResultsInvalidationsByClassback to summary
protected Map<Class<?>, Set<E>> queryResultsInvalidationsByClass

A map of class to list of queries that need to be invalidated when that class changes.

sessionback to summary
protected AbstractSession session

A reference to the session owning this manager.

writeLockManagerback to summary
protected transient WriteLockManager writeLockManager

Used to store the write lock manager used for merging.

Constructor Detail

IdentityMapManagerback to summary
protected IdentityMapManager()
IdentityMapManagerback to summary
public IdentityMapManager(AbstractSession session)

Method Detail

acquireDeferredLockback to summary
public CacheKey acquireDeferredLock(Object primaryKey, Class<?> domainClass, ClassDescriptor descriptor, boolean isCacheCheckComplete)

Provides access for setting a deferred lock on an object in the IdentityMap.

acquireLockback to summary
public CacheKey acquireLock(Object primaryKey, Class<?> domainClass, boolean forMerge, ClassDescriptor descriptor, boolean isCacheCheckComplete)

Provides access for setting a concurrency lock on an object in the IdentityMap. called with true from the merge process, if true then the refresh will not refresh the object.

acquireLockNoWaitback to summary
public CacheKey acquireLockNoWait(Object primaryKey, Class<?> domainClass, boolean forMerge, ClassDescriptor descriptor)

Provides access for setting a concurrency lock on an object in the IdentityMap. called with true from the merge process, if true then the refresh will not refresh the object.

acquireLockWithWaitback to summary
public CacheKey acquireLockWithWait(Object primaryKey, Class<?> domainClass, boolean forMerge, ClassDescriptor descriptor, int wait)

Provides access for setting a concurrency lock on an object in the IdentityMap. called with true from the merge process, if true then the refresh will not refresh the object.

acquireReadLockback to summary
public void acquireReadLock()

Provides access for setting a concurrency lock on an IdentityMap.

acquireReadLockOnCacheKeyback to summary
public CacheKey acquireReadLockOnCacheKey(Object primaryKey, Class<?> domainClass, ClassDescriptor descriptor)

INTERNAL: Find the cachekey for the provided primary key and place a readlock on it. This will allow multiple users to read the same object but prevent writes to the object while the read lock is held.

acquireReadLockOnCacheKeyNoWaitback to summary
public CacheKey acquireReadLockOnCacheKeyNoWait(Object primaryKey, Class<?> domainClass, ClassDescriptor descriptor)

INTERNAL: Find the cachekey for the provided primary key and place a readlock on it. This will allow multiple users to read the same object but prevent writes to the object while the read lock is held. If no readlock can be acquired then do not wait but return null.

acquireWriteLockback to summary
public boolean acquireWriteLock()

Lock the entire cache if the cache isolation requires. By default concurrent reads and writes are allowed. By write, unit of work merge is meant.

buildNewIdentityMapback to summary
public IdentityMap buildNewIdentityMap(ClassDescriptor descriptor)

INTERNAL: (Public to allow testing to access) Return a new empty identity map to cache instances of the class.

buildNewIdentityMapback to summary
protected <T extends IdentityMap> IdentityMap buildNewIdentityMap(final Class<T> identityMapClass, final int size, final ClassDescriptor descriptor, final boolean isIsolated) throws DescriptorException

INTERNAL: Return a new empty identity map of the class type.

checkForInheritanceback to summary
protected Object checkForInheritance(Object domainObject, Class<?> superClass, ClassDescriptor descriptor)

This method is used to resolve the inheritance issues arisen when conforming from the identity map 1. Avoid reading the unintended subclass during in-memory query(e.g. when querying on large project, do not want to check small project, both are inherited from the project, and stored in the same identity map). 2. EJB container-generated classes broke the inheritance hierarchy. Need to use associated descriptor to track the relationship. CR4005-2612426, King-Sept-18-2002

checkIsCacheAccessPreCheckRequiredback to summary
public void checkIsCacheAccessPreCheckRequired()

PERF: Used to micro optimize cache access. Avoid the readLock and profile checks if not required.

clearCacheIndexesback to summary
public void clearCacheIndexes()

Clear all index caches.

clearLastAccessedIdentityMapback to summary
public void clearLastAccessedIdentityMap()

INTERNAL: Clear the the lastAccessedIdentityMap and the lastAccessedIdentityMapClass

clearQueryCacheback to summary
public void clearQueryCache()

Clear all the query caches.

clearQueryCacheback to summary
public void clearQueryCache(ReadQuery query)

Remove the cache key related to a query. Note this method is not synchronized and care should be taken to ensure there are no other threads accessing the cache key. This is used to clean up cached clones of queries.

cloneback to summary
public Object clone()

Overrides java.lang.Object.clone.

INTERNAL: Clones itself, used for uow commit and resume on failure.

Returns:Object

Doc from java.lang.Object.clone.

a clone of this instance.

Annotations
@Override
containsKeyback to summary
public boolean containsKey(Object key, Class<?> theClass, ClassDescriptor descriptor)

Return true if an CacheKey with the primary key is in the map. User API.

Parameters
key:Object

is the primary key for the object to search for.

getAllCacheKeysFromIdentityMapWithEntityPKback to summary
public Map<Object, CacheKey> getAllCacheKeysFromIdentityMapWithEntityPK(Object[] pkList, ClassDescriptor descriptor, AbstractSession session)

ADVANCED: Using a list of Entity PK this method will attempt to bulk load the entire list from the cache. In certain circumstances this can have large performance improvements over loading each item individually.

Parameters
pkList:Object[]

List of Entity PKs to extract from the cache

descriptor:ClassDescriptor

Descriptor type to be retrieved.

Returns:Map<Object, CacheKey>

Map of Entity PKs associated to the Entities that were retrieved

getAllFromIdentityMapback to summary
public Vector<E> getAllFromIdentityMap(Expression selectionCriteria, Class<?> theClass, DataRecord translationRow, int valueHolderPolicy, boolean shouldReturnInvalidatedObjects)

Query the cache in-memory.

getAllFromIdentityMapWithEntityPKback to summary
public Map<Object, Object> getAllFromIdentityMapWithEntityPK(Object[] pkList, ClassDescriptor descriptor, AbstractSession session)

ADVANCED: Using a list of Entity PK this method will attempt to bulk load the entire list from the cache. In certain circumstances this can have large performance improvements over loading each item individually.

Parameters
pkList:Object[]

List of Entity PKs to extract from the cache

descriptor:ClassDescriptor

Descriptor type to be retrieved.

Returns:Map<Object, Object>

Map of Entity PKs associated to the Entities that were retrieved

getCacheKeyByIndexback to summary
public CacheKey getCacheKeyByIndex(CacheIndex index, CacheId indexValues, boolean shouldCheckExpiry, ClassDescriptor descriptor)

Return the cache key for the cache index or null if not found.

getCacheKeyForObjectback to summary
public CacheKey getCacheKeyForObject(Object primaryKey, Class<?> theClass, ClassDescriptor descriptor, boolean forMerge)

Retrieve the cache key for the given identity information.

getCacheKeyForObjectForLockback to summary
public CacheKey getCacheKeyForObjectForLock(Object primaryKey, Class<?> theClass, ClassDescriptor descriptor)

Retrieve the cache key for the given identity information.

getCacheMutexback to summary
public ConcurrencyManager getCacheMutex()

Return the cache mutex. This allows for the entire cache to be locked. This is done for transaction isolations on merges, although never locked by default.

getClassesRegisteredback to summary
public Vector<E> getClassesRegistered()

This method is used to get a list of those classes with IdentityMaps in the Session.

getFromIdentityMapback to summary
public Object getFromIdentityMap(Object object)

Get the object from the identity map which has the same identity information as the given object.

getFromIdentityMapback to summary
public Object getFromIdentityMap(Object key, Class<?> theClass, ClassDescriptor descriptor)

Get the object from the identity map which has the given primary key and class.

getFromIdentityMapback to summary
public Object getFromIdentityMap(Object key, Class<?> theClass, boolean shouldReturnInvalidatedObjects, ClassDescriptor descriptor)

Get the object from the identity map which has the given primary key and class. Only return the object if it has not been invalidated.

getFromIdentityMapback to summary
public Object getFromIdentityMap(Expression selectionCriteria, Class<?> theClass, DataRecord translationRow, int valueHolderPolicy, boolean conforming, boolean shouldReturnInvalidatedObjects, ClassDescriptor descriptor)
getFromIdentityMapWithDeferredLockback to summary
public Object getFromIdentityMapWithDeferredLock(Object key, Class<?> theClass, boolean shouldReturnInvalidatedObjects, ClassDescriptor descriptor)

Get the object from the cache with the given primary key and class. Do not return the object if it was invalidated.

getIdentityMapback to summary
public IdentityMap getIdentityMap(ClassDescriptor descriptor)

INTERNAL: Return the identity map for the class, if missing create a new one.

getIdentityMapback to summary
public IdentityMap getIdentityMap(ClassDescriptor descriptor, boolean returnNullIfNoMap)

INTERNAL: Return the identity map for the class.

Parameters
returnNullIfNoMap:boolean

if true return null if no map, otherwise create one.

getIdentityMapClassesback to summary
public Iterator<E> getIdentityMapClasses()

Return an iterator of the classes in the identity map.

getIdentityMapsback to summary
protected Map<Class<?>, IdentityMap> getIdentityMaps()
getQueryResultback to summary
public Object getQueryResult(ReadQuery query, List<E> parameters, boolean shouldCheckExpiry)

Get the cached results associated with a query. Results are cached by the values of the parameters to the query so different parameters will have different cached results.

getSessionback to summary
protected AbstractSession getSession()
getWrapperback to summary
public Object getWrapper(Object primaryKey, Class<?> theClass)

Get the wrapper object from the cache key associated with the given primary key, this is used for EJB.

getWriteLockManagerback to summary
public WriteLockManager getWriteLockManager()

Returns the single write Lock manager for this session

getWriteLockValueback to summary
public Object getWriteLockValue(Object primaryKey, Class<?> domainClass, ClassDescriptor descriptor)

Retrieve the write lock value of the cache key associated with the given primary key,

initializeIdentityMapback to summary
public void initializeIdentityMap(Class<?> theClass) throws EclipseLinkException

Reset the identity map for only the instances of the class. For inheritance the user must make sure that they only use the root class.

initializeIdentityMapsback to summary
public void initializeIdentityMaps()
invalidateObjectsback to summary
public void invalidateObjects(Expression selectionCriteria, Class<?> theClass, DataRecord translationRow, boolean shouldInvalidateOnException)

Invalidate objects meeting selectionCriteria.

invalidateQueryCacheback to summary
public void invalidateQueryCache(Class<?> classThatChanged)

Invalidate/remove any results for the class from the query cache. This is used to invalidate the query cache on any change.

printIdentityMapback to summary
public void printIdentityMap(Class<?> businessClass)

Used to print all the objects in the identity map of the passed in class. The output of this method will be logged to this session's SessionLog at SEVERE level.

printIdentityMapsback to summary
public void printIdentityMaps()

Used to print all the objects in every identity map in this session. The output of this method will be logged to this session's SessionLog at SEVERE level.

printLocksback to summary
public void printLocks()

Used to print all the Locks in every identity map in this session. The output of this method will be logged to this session's SessionLog at FINEST level.

printLocksback to summary
public void printLocks(Class<?> theClass)

Used to print all the Locks in the specified identity map in this session. The output of this method will be logged to this session's SessionLog at FINEST level.

putCacheKeyByIndexback to summary
public void putCacheKeyByIndex(CacheIndex index, CacheId indexValues, CacheKey cacheKey, ClassDescriptor descriptor)

Index the cache key by the index values.

putInIdentityMapback to summary
public CacheKey putInIdentityMap(Object domainObject, Object keys, Object writeLockValue, long readTime, ClassDescriptor descriptor)

Register the object with the identity map. The object must always be registered with its version number if optimistic locking is used. The readTime may also be included in the cache key as it is constructed

putQueryResultback to summary
public void putQueryResult(ReadQuery query, List<E> parameters, Object results)

Set the results for a query. Query results are cached based on the parameter values provided to the query different parameter values access different caches.

releaseReadLockback to summary
protected void releaseReadLock()

Read-release the local-map and the entire cache.

releaseWriteLockback to summary
public void releaseWriteLock()

Lock the entire cache if the cache isolation requires. By default concurrent reads and writes are allowed. By write, unit of work merge is meant.

removeFromIdentityMapback to summary
public Object removeFromIdentityMap(Object key, Class<?> domainClass, ClassDescriptor descriptor, Object objectToRemove)

Remove the object from the object cache.

setCacheMutexback to summary
protected void setCacheMutex(ConcurrencyManager cacheMutex)

Set the cache mutex. This allows for the entire cache to be locked. This is done for transaction isolations on merges, although never locked by default.

setIdentityMapsback to summary
public void setIdentityMaps(ConcurrentMap<K, V> identityMaps)
setSessionback to summary
protected void setSession(AbstractSession session)
setWrapperback to summary
public void setWrapper(Object primaryKey, Class<?> theClass, Object wrapper)

Update the wrapper object the cache key associated with the given primary key, this is used for EJB.

setWriteLockValueback to summary
public void setWriteLockValue(Object primaryKey, Class<?> theClass, Object writeLockValue)

Update the write lock value of the cache key associated with the given primary key,