Class WeakCacheKey
- java.lang.Object
-
- org.eclipse.persistence.internal.helper.ConcurrencyManager
-
- org.eclipse.persistence.internal.identitymaps.CacheKey
-
- org.eclipse.persistence.internal.identitymaps.WeakCacheKey
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Cloneable
- Direct Known Subclasses:
HardCacheWeakIdentityMap.ReferenceCacheKey,QueueableWeakCacheKey,SoftCacheKey
public class WeakCacheKey extends CacheKey
Purpose: Container class for storing objects in an IdentityMap. The weak cache key uses a weak 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/Java 1.0
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.ref.ReferencereferenceReference is maintained weak to allow garbage collection-
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, invalidationState, isIsolated, isWrapper, key, lastUpdatedQueryId, mapOwner, MAX_WAIT_TRIES, object, protectedForeignKeys, readTime, record, 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
Constructors Constructor Description WeakCacheKey(java.lang.Object primaryKey, java.lang.Object object, java.lang.Object writeLockValue, long readTime, boolean isIsolated)Initialize the newly allocated instance of this class.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.ObjectgetObject()voidsetObject(java.lang.Object object)-
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, getDepth, getNumberOfReaders, getNumberOfWritersWaiting, getReadLockManager, getReadLockManagerEnsureResultIsNotNull, getReadLockManagers, getStack, getThreadsToWaitOnAcquire, getThreadsToWaitOnAcquireMethodName, getThreadsToWaitOnAcquireReadLock, getThreadsToWaitOnAcquireReadLockMethodName, getThreadsWaitingToReleaseDeferredLocks, getThreadsWaitingToReleaseDeferredLocksJustification, getTotalNumberOfKeysAcquiredForReading, getTotalNumberOfKeysReleasedForReading, getTotalNumberOfKeysReleasedForReadingBlewUpExceptionDueToCacheKeyHavingReachedCounterZero, initializeDeferredLockManagers, isAcquired, isBuildObjectOnThreadComplete, isLockedByMergeManager, isNested, putDeferredLock, putThreadAsWaitingToAcquireLockForReading, putThreadAsWaitingToAcquireLockForWriting, releaseAllLocksAcquiredByThread, removeDeferredLockManager, removeReadLockFromReadLockManager, removeReadLockManagerIfEmpty, removeThreadNoLongerWaitingToAcquireLockForReading, removeThreadNoLongerWaitingToAcquireLockForWriting, setActiveThread, setDepth, setIsLockedByMergeManager, setJustificationWhyMethodIsBuildingObjectCompleteReturnsFalse, setNumberOfReaders, setNumberOfWritersWaiting, setShouldTrackStack, setStack, shouldTrackStack, transitionToDeferredLock
-
-
-
-
Constructor Detail
-
WeakCacheKey
public WeakCacheKey(java.lang.Object primaryKey, java.lang.Object object, java.lang.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
-
-