Modifier and Type | Method and Description |
---|---|
abstract long |
CacheInvalidationPolicy.getExpiryTimeInMillis(CacheKey key)
INTERNAL:
Get the next time when this object will become invalid
|
long |
NoExpiryCacheInvalidationPolicy.getExpiryTimeInMillis(CacheKey key)
INTERNAL:
Since this policy implements no expiry, this will always return NO_EXPIRY
|
long |
CacheInvalidationPolicy.getRemainingValidTime(CacheKey key)
INTERNAL:
Return the remaining life of this object
|
long |
NoExpiryCacheInvalidationPolicy.getRemainingValidTime(CacheKey key)
INTERNAL:
Return the remaining life of this object
Override the default implementation.
|
abstract boolean |
CacheInvalidationPolicy.isInvalidated(CacheKey key,
long currentTimeMillis)
INTERNAL:
return true if this object is expire, false otherwise.
|
boolean |
NoExpiryCacheInvalidationPolicy.isInvalidated(CacheKey key,
long currentTimeMillis)
INTERNAL:
This will return true if the object is set to be invalid, false otherwise.
|
Modifier and Type | Method and Description |
---|---|
protected void |
ObjectBuilder.copyQueryInfoToCacheKey(CacheKey cacheKey,
ObjectBuildingQuery query,
AbstractRecord databaseRow,
AbstractSession session,
ClassDescriptor concreteDescriptor)
Initialize a cache key.
|
Modifier and Type | Field and Description |
---|---|
protected CacheKey |
ConcurrencyManager.ownerCacheKey
Cachkey owner set when ConcurrencyMananger is used within an cachekey on an idenity map
Used to store the owner so that the object involved can be retrieved from the cachekey
|
Modifier and Type | Method and Description |
---|---|
CacheKey |
WriteLockManager.acquireLockAndRelatedLocks(Object objectForClone,
Map lockedObjects,
Vector primaryKeys,
ClassDescriptor descriptor,
AbstractSession session)
INTERNAL:
This is a recursive method used to acquire read locks on all objects that
will be cloned.
|
protected CacheKey |
WriteLockManager.attemptToAcquireLock(Class objectClass,
CacheKey cacheKey,
AbstractSession session)
INTERNAL:
This method performs the operations of finding the cacheKey and locking it if possible.
|
protected CacheKey |
WriteLockManager.checkAndLockObject(Object objectToLock,
Map lockedObjects,
DatabaseMapping mapping,
AbstractSession session)
INTERNAL:
Simply check that the object is not already locked then pass it on to the locking method
|
CacheKey |
ConcurrencyManager.getOwnerCacheKey()
Returns the owner cache key for this concurrency manager
|
CacheKey |
WriteLockManager.traverseRelatedLocks(Object objectForClone,
Map lockedObjects,
ClassDescriptor descriptor,
AbstractSession session)
INTERNAL:
Traverse the object and acquire locks on all related objects.
|
protected CacheKey |
WriteLockManager.waitOnObjectLock(Class objectClass,
CacheKey cacheKey,
AbstractSession session)
INTERNAL:
This method performs the operations of finding the cacheKey and locking it if possible.
|
Modifier and Type | Method and Description |
---|---|
protected CacheKey |
WriteLockManager.attemptToAcquireLock(Class objectClass,
CacheKey cacheKey,
AbstractSession session)
INTERNAL:
This method performs the operations of finding the cacheKey and locking it if possible.
|
protected CacheKey |
WriteLockManager.waitOnObjectLock(Class objectClass,
CacheKey cacheKey,
AbstractSession session)
INTERNAL:
This method performs the operations of finding the cacheKey and locking it if possible.
|
Constructor and Description |
---|
ConcurrencyManager(CacheKey cacheKey)
Initialize a new ConcurrencyManger, seting depth to zero and setting the
owner cacheKey.
|
Modifier and Type | Class and Description |
---|---|
class |
HardCacheWeakIdentityMap.ReferenceCacheKey
Inner class to define the specialized weak cache key.
|
class |
LinkedCacheKey
Purpose: Provides the capability to insert CacheKeys into a Linked List.
|
class |
WeakCacheKey
Purpose: Container class for storing objects in an IdentityMap.
|
Modifier and Type | Field and Description |
---|---|
protected CacheKey |
IdentityMapKeyEnumeration.nextKey |
protected CacheKey |
IdentityMap.searchKey
Used to optimize get through avoiding recreation of the cache key each time.
|
Modifier and Type | Method and Description |
---|---|
CacheKey |
NoIdentityMap.acquire(Vector primaryKey)
locking for no identity.
|
CacheKey |
IdentityMap.acquireDeferredLock(Vector primaryKey)
Acquire the deferred lock
|
CacheKey |
IdentityMapManager.acquireDeferredLock(Vector primaryKey,
Class domainClass,
ClassDescriptor descriptor)
Provides access for setting a deferred lock on an object in the IdentityMap.
|
CacheKey |
IdentityMap.acquireLock(Vector primaryKey,
boolean forMerge)
Set an exclusive lock on an object in the IdentityMap.
|
CacheKey |
IdentityMapManager.acquireLock(Vector primaryKey,
Class domainClass,
boolean forMerge,
ClassDescriptor descriptor)
Provides access for setting a concurrency lock on an object in the IdentityMap.
|
CacheKey |
IdentityMap.acquireLockNoWait(Vector primaryKey,
boolean forMerge)
Set an exclusive lock on an object in the IdentityMap.
|
CacheKey |
IdentityMapManager.acquireLockNoWait(Vector primaryKey,
Class domainClass,
boolean forMerge,
ClassDescriptor descriptor)
Provides access for setting a concurrency lock on an object in the IdentityMap.
|
CacheKey |
IdentityMap.acquireReadLockOnCacheKey(Vector primaryKey)
INTERNAL:
Find the cachekey for the provided primary key and place a readlock on it.
|
CacheKey |
IdentityMapManager.acquireReadLockOnCacheKey(Vector primaryKey,
Class domainClass,
ClassDescriptor descriptor)
INTERNAL:
Find the cachekey for the provided primary key and place a readlock on it.
|
CacheKey |
IdentityMap.acquireReadLockOnCacheKeyNoWait(Vector primaryKey)
INTERNAL:
Find the cachekey for the provided primary key and place a readlock on it.
|
CacheKey |
IdentityMapManager.acquireReadLockOnCacheKeyNoWait(Vector primaryKey,
Class domainClass,
ClassDescriptor descriptor)
INTERNAL:
Find the cachekey for the provided primary key and place a readlock on it.
|
CacheKey |
IdentityMap.createCacheKey(Vector primaryKey,
Object object,
Object writeLockValue) |
CacheKey |
WeakIdentityMap.createCacheKey(Vector primaryKey,
Object object,
Object writeLockValue,
long readTime) |
CacheKey |
HardCacheWeakIdentityMap.createCacheKey(Vector primaryKey,
Object object,
Object writeLockValue,
long readTime)
Use a ReferenceCacheKey that also stores the linked list node to manage
the LRU sub-cache of references.
|
CacheKey |
IdentityMap.createCacheKey(Vector primaryKey,
Object object,
Object writeLockValue,
long readTime) |
CacheKey |
CacheIdentityMap.createCacheKey(Vector primaryKey,
Object object,
Object writeLockValue,
long readTime) |
protected CacheKey |
FullIdentityMap.getCacheKey(CacheKey searchKey)
Return the object indexed in the recevier at the cache key.
|
protected CacheKey |
NoIdentityMap.getCacheKey(CacheKey searchKey)
Return null since no objects are actually cached.
|
protected abstract CacheKey |
IdentityMap.getCacheKey(CacheKey cacheKey)
Return the cache key (with object) matching the cache key wrapper of the primary key.
|
protected CacheKey |
IdentityMap.getCacheKey(Vector primaryKey)
Get the cache key (with object) for the primary key.
|
protected CacheKey |
CacheIdentityMap.getCacheKey(Vector primaryKeys)
Access the object within the table for the given primaryKey.
|
CacheKey |
IdentityMapManager.getCacheKeyForObject(Vector primaryKey,
Class myClass,
ClassDescriptor descriptor)
INTERNAL:
Retrieve the cache key for the given identity information
|
protected CacheKey |
IdentityMap.getCacheKeyWithReadLock(Vector primaryKey)
Get the cache key (with object) for the primary key with read lock.
|
protected CacheKey |
IdentityMapKeyEnumeration.getNextCacheKey() |
protected CacheKey |
IdentityMap.getSearchKey() |
CacheKey |
FullIdentityMap.put(Vector primaryKey,
Object object,
Object writeLockValue,
long readTime)
Store the object in the cache at its primary key.
|
CacheKey |
NoIdentityMap.put(Vector aVector,
Object object,
Object writeLockValue,
long readTime)
DO NOTHING.
|
abstract CacheKey |
IdentityMap.put(Vector primaryKey,
Object object,
Object writeLockValue,
long readTime)
Store the object in the cache at its primary key.
|
CacheKey |
IdentityMapManager.putInIdentityMap(Object domainObject,
Vector keys,
Object writeLockValue,
long readTime,
ClassDescriptor descriptor)
Register the object with the identity map.
|
Modifier and Type | Method and Description |
---|---|
boolean |
CacheKey.equals(CacheKey key)
Determine if the receiver is equal to key.
|
protected CacheKey |
FullIdentityMap.getCacheKey(CacheKey searchKey)
Return the object indexed in the recevier at the cache key.
|
protected CacheKey |
NoIdentityMap.getCacheKey(CacheKey searchKey)
Return null since no objects are actually cached.
|
protected abstract CacheKey |
IdentityMap.getCacheKey(CacheKey cacheKey)
Return the cache key (with object) matching the cache key wrapper of the primary key.
|
protected void |
WeakIdentityMap.put(CacheKey cacheKey)
Store the object in the cache with the cache key.
|
protected void |
FullIdentityMap.put(CacheKey cacheKey)
Store the object in the cache with the cache key.
|
protected void |
HardCacheWeakIdentityMap.put(CacheKey cacheKey)
Store the object in the cache with the cache key.
|
void |
NoIdentityMap.put(CacheKey key)
DO NOTHING
|
protected abstract void |
IdentityMap.put(CacheKey cacheKey)
Store the object in the cache with the cache key.
|
protected void |
CacheIdentityMap.put(CacheKey cacheKey)
Store the object in the identity map with the linked cache key
|
Object |
FullIdentityMap.remove(CacheKey cacheKey)
Removes the CacheKey from the Hashtable.
|
Object |
HardCacheWeakIdentityMap.remove(CacheKey cacheKey)
Remove the cache key from the map and the sub-cache list.
|
Object |
NoIdentityMap.remove(CacheKey searchKey)
Do Nothing
Return null, since no objects are cached.
|
abstract Object |
IdentityMap.remove(CacheKey cacheKey)
Remove the cache key from the cache.
|
Object |
CacheIdentityMap.remove(CacheKey key)
Remove the LinkedCacheKey from the cache as well as from the linked list.
|
void |
FullIdentityMap.resetCacheKey(CacheKey key,
Object object,
Object writeLockValue) |
void |
FullIdentityMap.resetCacheKey(CacheKey key,
Object object,
Object writeLockValue,
long readTime) |
protected void |
IdentityMap.setSearchKey(CacheKey searchKey) |
void |
IdentityMap.updateCacheKey(CacheKey cacheKey)
This is used to notify the identity map of a locked keys modification to allow updating of weak refs.
|
Modifier and Type | Field and Description |
---|---|
protected CacheKey |
ObjectChangeSet.cacheKey |
protected CacheKey |
MergeManager.writeLockQueued
If this variable is not null then the mergemanager is waiting on a particular cacheKey
|
Modifier and Type | Method and Description |
---|---|
CacheKey |
IsolatedClientSessionIdentityMapAccessor.acquireDeferredLock(Vector primaryKey,
Class javaClass,
ClassDescriptor descriptor)
INTERNAL:
Deferred lock the identity map for the object, this is used for avoiding deadlock
The return cacheKey should be used to release the deferred lock
|
CacheKey |
IdentityMapAccessor.acquireDeferredLock(Vector primarKey,
Class javaClass,
ClassDescriptor descriptor)
INTERNAL:
Deferred lock the identity map for the object, this is used for avoiding deadlock
The return cacheKey should be used to release the deferred lock
|
CacheKey |
IsolatedClientSessionIdentityMapAccessor.acquireLock(Vector primaryKey,
Class domainClass,
boolean forMerge,
ClassDescriptor descriptor)
INTERNAL:
Provides access for setting a concurrency lock on an object in the IdentityMap.
|
CacheKey |
IdentityMapAccessor.acquireLock(Vector primaryKey,
Class domainClass,
boolean forMerge,
ClassDescriptor descriptor)
INTERNAL:
Provides access for setting a concurrency lock on an object in the IdentityMap.
|
CacheKey |
IdentityMapAccessor.acquireLock(Vector primarKey,
Class javaClass,
ClassDescriptor descriptor)
INTERNAL:
Lock the identity map for the object, this must be done when building objects.
|
CacheKey |
IsolatedClientSessionIdentityMapAccessor.acquireLockNoWait(Vector primaryKey,
Class domainClass,
boolean forMerge,
ClassDescriptor descriptor)
INTERNAL:
Provides access for setting a concurrency lock on an object in the IdentityMap.
|
CacheKey |
IdentityMapAccessor.acquireLockNoWait(Vector primaryKey,
Class domainClass,
boolean forMerge,
ClassDescriptor descriptor)
INTERNAL:
Provides access for setting a concurrency lock on an object in the IdentityMap.
|
CacheKey |
IsolatedClientSessionIdentityMapAccessor.acquireReadLockOnCacheKey(Vector primaryKey,
Class domainClass,
ClassDescriptor descriptor)
INTERNAL:
Find the cachekey for the provided primary key and place a readlock on it.
|
CacheKey |
IdentityMapAccessor.acquireReadLockOnCacheKey(Vector primaryKey,
Class domainClass,
ClassDescriptor descriptor)
INTERNAL:
Find the cachekey for the provided primary key and place a readlock on it.
|
CacheKey |
IsolatedClientSessionIdentityMapAccessor.acquireReadLockOnCacheKeyNoWait(Vector primaryKey,
Class domainClass,
ClassDescriptor descriptor)
INTERNAL:
Find the cachekey for the provided primary key and place a readlock on it.
|
CacheKey |
IdentityMapAccessor.acquireReadLockOnCacheKeyNoWait(Vector primaryKey,
Class domainClass,
ClassDescriptor descriptor)
INTERNAL:
Find the cachekey for the provided primary key and place a readlock on it.
|
CacheKey |
AggregateObjectChangeSet.CacheKey() |
CacheKey |
ObjectChangeSet.getCacheKey() |
CacheKey |
IdentityMapAccessor.getCacheKeyForObject(Object object,
ClassDescriptor descriptor)
INTERNAL:
Retrieve the cache key for the given object from the identity maps
|
CacheKey |
IsolatedClientSessionIdentityMapAccessor.getCacheKeyForObject(Vector primaryKey,
Class myClass,
ClassDescriptor descriptor)
INTERNAL:
Retrieve the cache key for the given identity information
|
CacheKey |
IdentityMapAccessor.getCacheKeyForObject(Vector primaryKey,
Class myClass,
ClassDescriptor descriptor)
INTERNAL:
Retrieve the cache key for the given identity information
|
CacheKey |
MergeManager.getWriteLockQueued()
INTENRAL:
Used to get the object that the merge manager is waiting on, in order to acquire locks
|
CacheKey |
IsolatedClientSessionIdentityMapAccessor.internalPutInIdentityMap(Object domainObject,
Vector key,
Object writeLockValue,
long readTime,
ClassDescriptor descriptor)
ADVANCED:
Register the object with the identity map.
|
CacheKey |
IdentityMapAccessor.internalPutInIdentityMap(Object object,
Vector key,
Object writeLockValue,
long readTime,
ClassDescriptor descriptor)
INTERNAL:
Register the object with the identity map.
|
Modifier and Type | Method and Description |
---|---|
Object |
UnitOfWorkImpl.cloneAndRegisterObject(Object original,
CacheKey cacheKey,
JoinedAttributeManager joinedAttributeManager)
INTERNAL:
Clone and register the object.
|
void |
ObjectChangeSet.setCacheKey(CacheKey cacheKey) |
void |
MergeManager.setWriteLockQueued(CacheKey writeLockQueued)
INTENRAL:
Used to set the object that the merge manager is waiting on, in order to acquire locks
If this value is null then the merge manager is not waiting on any locks.
|
Modifier and Type | Method and Description |
---|---|
protected boolean |
ObjectReferenceMapping.cacheKeysAreEqual(CacheKey cacheKey1,
CacheKey cacheKey2)
INTERNAL:
|
protected void |
AggregateCollectionMapping.objectUnchangedDuringUpdate(ObjectLevelModifyQuery query,
Object object,
Hashtable backupCloneKeyedCache,
CacheKey cachedKey)
INTERNAL:
An object is still in the collection, update it as it may have changed.
|
protected void |
CollectionMapping.objectUnchangedDuringUpdate(ObjectLevelModifyQuery query,
Object object,
Hashtable backupclones,
CacheKey keys)
INTERNAL:
An object is still in the collection, update it as it may have changed.
|
Copyright © 2023. All rights reserved.