Module org.eclipse.persistence.core
Class SoftCacheKey
java.lang.Object
org.eclipse.persistence.internal.helper.ConcurrencyManager
org.eclipse.persistence.internal.identitymaps.CacheKey
org.eclipse.persistence.internal.identitymaps.WeakCacheKey
org.eclipse.persistence.internal.identitymaps.SoftCacheKey
- All Implemented Interfaces:
Serializable
,Cloneable
Purpose: Container class for storing objects in an IdentityMap. The soft cache key uses a soft reference to allow garbage collection of its object. The cache key itself however will remain and thus should cleaned up every now and then.
Responsibilities:
- Hold key and object.
- Maintain and update the current writeLockValue.
- Since:
- TopLink 11g
- See Also:
-
Field Summary
Fields inherited from class org.eclipse.persistence.internal.identitymaps.WeakCacheKey
reference
Fields inherited from class org.eclipse.persistence.internal.identitymaps.CacheKey
CACHE_KEY_INVALID, CHECK_INVALIDATION_POLICY, CREATION_THREAD_HASHCODE, CREATION_THREAD_ID, CREATION_THREAD_NAME, dataRecord, invalidationState, isIsolated, isWrapper, key, lastUpdatedQueryId, mapOwner, MAX_WAIT_TRIES, object, protectedForeignKeys, readTime, transactionId, wrapper, writeLockValue
Fields inherited from class org.eclipse.persistence.internal.helper.ConcurrencyManager
activeThread, DEFERRED_LOCK_MANAGERS, depth, lockedByMergeManager, numberOfReaders, numberOfWritersWaiting, shouldTrackStack, stack
-
Constructor Summary
ConstructorsConstructorDescriptionSoftCacheKey
(Object primaryKey, Object object, Object writeLockValue, long readTime, boolean isIsolated) Initialize the newly allocated instance of this class. -
Method Summary
Methods inherited from class org.eclipse.persistence.internal.identitymaps.WeakCacheKey
getObject
Methods inherited from class org.eclipse.persistence.internal.identitymaps.CacheKey
acquire, acquire, acquireDeferredLock, acquireIfUnownedNoWait, acquireLock, acquireNoWait, acquireNoWait, acquireReadLock, acquireReadLockNoWait, acquireWithWait, checkDeferredLock, checkReadLock, clone, equals, equals, getActiveThread, getInvalidationState, getKey, getLastUpdatedQueryId, getOwningMap, getProtectedForeignKeys, getReadTime, getRecord, getTransactionId, getWrappedCacheKey, getWrapper, getWriteLockValue, hashCode, hasProtectedForeignKeys, isIsolated, isWrapper, release, releaseDeferredLock, releaseReadLock, removeFromOwningMap, setInvalidationState, setIsolated, setIsWrapper, setKey, setLastUpdatedQueryId, setOwningMap, setProtectedForeignKeys, setReadTime, setRecord, setTransactionId, setWrapper, setWriteLockValue, toString, updateAccess, waitForObject
Methods inherited from class org.eclipse.persistence.internal.helper.ConcurrencyManager
acquireIfUnownedNoWait, addReadLockToReadLockManager, clearJustificationWhyMethodIsBuildingObjectCompleteReturnsFalse, enrichStringBuildingExplainWhyThreadIsStuckInIsBuildObjectOnThreadComplete, getConcurrencyManagerCreationDate, getConcurrencyManagerId, getDeferredLockManager, getDeferredLockManagers, getDeferredLockManagersSnapshot, getDepth, getInstanceLock, getInstanceLockCondition, getNumberOfReaders, getNumberOfWritersWaiting, getReadLockManager, getReadLockManagerEnsureResultIsNotNull, getReadLockManagers, getReadLockManagersSnapshot, getStack, getThreadsToWaitOnAcquireMethodNameSnapshot, getThreadsToWaitOnAcquireReadLockMethodNameSnapshot, getThreadsToWaitOnAcquireReadLockSnapshot, getThreadsToWaitOnAcquireSnapshot, getThreadsWaitingToReleaseDeferredLocksJustificationSnapshot, getThreadsWaitingToReleaseDeferredLocksSnapshot, getTotalNumberOfKeysAcquiredForReading, getTotalNumberOfKeysReleasedForReading, getTotalNumberOfKeysReleasedForReadingBlewUpExceptionDueToCacheKeyHavingReachedCounterZero, initializeDeferredLockManagers, isAcquired, isAcquiredForWritingAndOwnedByDifferentThread, isBuildObjectOnThreadComplete, isLockedByMergeManager, isNested, putDeferredLock, putThreadAsWaitingToAcquireLockForReading, putThreadAsWaitingToAcquireLockForWriting, releaseAllLocksAcquiredByThread, removeDeferredLockManager, removeReadLockFromReadLockManager, removeReadLockManagerIfEmpty, removeThreadNoLongerWaitingToAcquireLockForReading, removeThreadNoLongerWaitingToAcquireLockForWriting, setActiveThread, setDepth, setIsLockedByMergeManager, setJustificationWhyMethodIsBuildingObjectCompleteReturnsFalse, setNumberOfReaders, setNumberOfWritersWaiting, setShouldTrackStack, setStack, shouldTrackStack, transitionToDeferredLock
-
Constructor Details
-
SoftCacheKey
public SoftCacheKey(Object primaryKey, Object object, Object writeLockValue, long readTime, boolean isIsolated) Initialize the newly allocated instance of this class.- Parameters:
primaryKey
- contains values extracted from the objectwriteLockValue
- is the write lock value, null if optimistic locking not being used for this object.readTime
- the time EclipseLInk read the cache key
-
-
Method Details
-
setObject
- Overrides:
setObject
in classWeakCacheKey
-