Class MergeManagerOperationMode

java.lang.Object
org.eclipse.persistence.config.MergeManagerOperationMode

public final class MergeManagerOperationMode extends Object
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    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 final String
    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 Details

    • ORIGIN

      public static final 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:
    • WAITLOOP

      public static final 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: