Uses of Class
org.eclipse.persistence.internal.helper.ReadLockManager
Package
Description
-
Uses of ReadLockManager in org.eclipse.persistence.internal.helper
Modifier and TypeMethodDescriptionReadLockManager.clone()
Create a new instanceReadLockManager
that is in all regards equal to the current instance.protected static ReadLockManager
ConcurrencyManager.getReadLockManager
(Thread thread) The method is not synchronized because for now we assume that each thread will ask for its own lock manager.protected static ReadLockManager
ConcurrencyManager.getReadLockManagerEnsureResultIsNotNull
(Thread thread) Same asConcurrencyManager.getReadLockManager(Thread)
but in this case a not null result is ensuredModifier and TypeMethodDescriptionConcurrencyUtil.cloneReadLockManagerMap
(Map<Thread, ReadLockManager> readLockManagersOriginal) To facilitate algorithms that want to dump a snapshot of the current state of the concurrency manager or to start a hunt for dead locks this api faciliates the boostraping logic of such algorithms by giving the algorithm a stable clone of the map of read locks that we know will not change throughout the time the algorithm is running.protected static Map
<Thread, ReadLockManager> ConcurrencyManager.getReadLockManagers()
Return the deferred lock manager hashtable (thread - DeferredLockManager).Modifier and TypeMethodDescriptionprotected String
ConcurrencyUtil.createInformationAboutAllResourcesAcquiredAndDeferredByThread
(ReadLockManager readLockManager, DeferredLockManager lockManager, Set<ConcurrencyManager> waitingOnAcquireCacheKeys, ConcurrencyManager waitingOnAcquireReadCacheKey, boolean threadWaitingToReleaseDeferredLocks, Thread thread, int currentThreadNumber, int totalNumberOfThreads, Set<Object> writeManagerThreadPrimaryKeysWithChangesToBeMerged, String waitingToReleaseDeferredLocksJustification) Build a string that tries to describe in as much detail as possible the resources associated to the current thread.protected String
ConcurrencyUtil.currentThreadIsStuckForSomeTimeProduceTinyLogMessage
(long elapsedTime, ConcurrencyManager concurrencyManager, DeferredLockManager lockManager, ReadLockManager readLockManager) We have a thread that is not evolving for quite some while.void
ConcurrencyUtil.determineIfReleaseDeferredLockAppearsToBeDeadLocked
(ConcurrencyManager concurrencyManager, long whileStartTimeMillis, DeferredLockManager lockManager, ReadLockManager readLockManager, boolean callerIsWillingToAllowInterruptedExceptionToBeFiredUpIfNecessary) Throw an interrupted exception if appears that eclipse link code is taking too long to release a deferred lock.Modifier and TypeMethodDescriptionConcurrencyUtil.cloneReadLockManagerMap
(Map<Thread, ReadLockManager> readLockManagersOriginal) To facilitate algorithms that want to dump a snapshot of the current state of the concurrency manager or to start a hunt for dead locks this api faciliates the boostraping logic of such algorithms by giving the algorithm a stable clone of the map of read locks that we know will not change throughout the time the algorithm is running. -
Uses of ReadLockManager in org.eclipse.persistence.internal.helper.type
Modifier and TypeMethodDescriptionConcurrencyManagerState.getReadLockManagerMapClone()
Getter forConcurrencyManagerState.readLockManagerMapClone
ModifierConstructorDescriptionConcurrencyManagerState
(Map<Thread, ReadLockManager> readLockManagerMapClone, Map<Thread, DeferredLockManager> deferredLockManagerMapClone, Map<Thread, Set<ConcurrencyManager>> unifiedMapOfThreadsStuckTryingToAcquireWriteLock, Map<Thread, String> unifiedMapOfThreadsStuckTryingToAcquireWriteLockMethodName, Map<Thread, ConcurrencyManager> mapThreadToWaitOnAcquireReadLockClone, Map<Thread, String> mapThreadToWaitOnAcquireReadLockCloneMethodName, Set<Thread> setThreadWaitingToReleaseDeferredLocksClone, Map<Thread, String> mapThreadsThatAreCurrentlyWaitingToReleaseDeferredLocksJustificationClone, Map<ConcurrencyManager, CacheKeyToThreadRelationships> mapOfCacheKeyToDtosExplainingThreadExpectationsOnCacheKey, Map<Thread, Set<Object>> mapThreadToObjectIdWithWriteLockManagerChangesClone) Create a new ConcurrencyManagerState.