Class MergeManagerOperationMode

    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String ORIGIN
      ORIGIN (DEFAULT) - There is infinite Object.wait() call in case of some conditions during time when object/entity referred from org.eclipse.persistence.internal.identitymaps.CacheKey is locked and modified by another thread.
      static java.lang.String WAITLOOP
      WAITLOOP - Merge manager will try in the loop with timeout wait cacheKey.wait(ConcurrencyUtil.SINGLETON.getAcquireWaitTime()); fetch object/entity from CacheKey.
    • Method Summary

      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • ORIGIN

        public static final java.lang.String ORIGIN
        ORIGIN (DEFAULT) - There is infinite Object.wait() call in case of some conditions during time when object/entity referred from org.eclipse.persistence.internal.identitymaps.CacheKey is locked and modified by another thread. In some cases it should leads into deadlock.
        See Also:
        Constant Field Values
      • WAITLOOP

        public static final java.lang.String WAITLOOP
        WAITLOOP - Merge manager will try in the loop with timeout wait cacheKey.wait(ConcurrencyUtil.SINGLETON.getAcquireWaitTime()); fetch object/entity from CacheKey. If fetch will be successful object/entity loop finish and continue with remaining code. If not @{code java.lang.InterruptedException} is thrown and caught and used CacheKey instance status is set into invalidation state. This strategy avoid deadlock issue, but there should be impact to the performance.
        See Also:
        Constant Field Values