Class CacheInvalidationPolicy

    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      java.lang.Object clone()  
      abstract long getExpiryTimeInMillis​(org.eclipse.persistence.internal.identitymaps.CacheKey key)
      INTERNAL: Get the next time when this object will become invalid
      long getRemainingValidTime​(org.eclipse.persistence.internal.identitymaps.CacheKey key)
      INTERNAL: Return the remaining life of this object
      void initialize​(ClassDescriptor descriptor, org.eclipse.persistence.internal.sessions.AbstractSession session)
      INTERNAL: Allow initialization with the descriptor.
      boolean isInvalidated​(org.eclipse.persistence.internal.identitymaps.CacheKey key)
      INTERNAL: return true if this object is expire, false otherwise.
      abstract boolean isInvalidated​(org.eclipse.persistence.internal.identitymaps.CacheKey key, long currentTimeMillis)
      INTERNAL: return true if this object is expire, false otherwise.
      boolean isInvalidationRandomized()
      PUBLIC: Allows the timeToLive to be randomized to avoid bottlenecks.
      void setIsInvalidationRandomized​(boolean isInvalidationRandomized)
      PUBLIC: Allows the timeToLive to be randomized to avoid bottlenecks.
      void setShouldRefreshInvalidObjectsInUnitOfWork​(boolean shouldRefreshInvalidObjectsInUnitOfWork)
      Deprecated.
      since EclipseLink 2.2
      void setShouldRefreshInvalidObjectsOnClone​(boolean shouldRefreshInvalidObjectsOnClone)
      PUBLIC: Set if expired object should be refreshed prior to cloning, default is true.
      void setShouldUpdateReadTimeOnUpdate​(boolean shouldUpdateReadTime)
      PUBLIC: Set whether to update the stored time an object was read when an object is updated.
      boolean shouldRefreshInvalidObjectsInUnitOfWork()
      Deprecated.
      since EclipseLink 2.2
      boolean shouldRefreshInvalidObjectsOnClone()
      PUBLIC: Return if expired object should be refreshed prior to cloning.
      boolean shouldUpdateReadTimeOnUpdate()
      PUBLIC: Return whether objects affected by this CacheInvalidationPolicy should have the read time on their cache keys updated when an update occurs.
      • Methods inherited from class java.lang.Object

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

      • shouldUpdateReadTimeOnUpdate

        protected boolean shouldUpdateReadTimeOnUpdate
        This will represent objects that do not expire.
      • shouldRefreshInvalidObjectsOnClone

        protected boolean shouldRefreshInvalidObjectsOnClone
        Determines if expired object registered in the unit of work should be refreshed, default true.
      • isInvalidationRandomized

        protected boolean isInvalidationRandomized
        Allows the timeToLive to be randomized to avoid bottlenecks.
      • random

        protected java.util.Random random
        Random used for randomized invalidation.
    • Constructor Detail

      • CacheInvalidationPolicy

        public CacheInvalidationPolicy()
    • Method Detail

      • isInvalidationRandomized

        public boolean isInvalidationRandomized()
        PUBLIC: Allows the timeToLive to be randomized to avoid bottlenecks.
      • setIsInvalidationRandomized

        public void setIsInvalidationRandomized​(boolean isInvalidationRandomized)
        PUBLIC: Allows the timeToLive to be randomized to avoid bottlenecks.
      • getExpiryTimeInMillis

        public abstract long getExpiryTimeInMillis​(org.eclipse.persistence.internal.identitymaps.CacheKey key)
        INTERNAL: Get the next time when this object will become invalid
      • getRemainingValidTime

        public long getRemainingValidTime​(org.eclipse.persistence.internal.identitymaps.CacheKey key)
        INTERNAL: Return the remaining life of this object
      • initialize

        public void initialize​(ClassDescriptor descriptor,
                               org.eclipse.persistence.internal.sessions.AbstractSession session)
        INTERNAL: Allow initialization with the descriptor.
      • isInvalidated

        public boolean isInvalidated​(org.eclipse.persistence.internal.identitymaps.CacheKey key)
        INTERNAL: return true if this object is expire, false otherwise.
      • isInvalidated

        public abstract boolean isInvalidated​(org.eclipse.persistence.internal.identitymaps.CacheKey key,
                                              long currentTimeMillis)
        INTERNAL: return true if this object is expire, false otherwise.
      • setShouldUpdateReadTimeOnUpdate

        public void setShouldUpdateReadTimeOnUpdate​(boolean shouldUpdateReadTime)
        PUBLIC: Set whether to update the stored time an object was read when an object is updated. When the read time is updated, it indicates to EclipseLink that the data in the object is up to date. This means that cache invalidation checks will occur relative to the new read time. By default, the read time will not be updated when an object is updated. Often it is possible to be confident that the object is up to date after an update because otherwise the update will fail because of the locking policies in use.
      • shouldUpdateReadTimeOnUpdate

        public boolean shouldUpdateReadTimeOnUpdate()
        PUBLIC: Return whether objects affected by this CacheInvalidationPolicy should have the read time on their cache keys updated when an update occurs.
      • setShouldRefreshInvalidObjectsInUnitOfWork

        @Deprecated
        public void setShouldRefreshInvalidObjectsInUnitOfWork​(boolean shouldRefreshInvalidObjectsInUnitOfWork)
        Deprecated.
        since EclipseLink 2.2
        PUBLIC: Set if expired object registered in the unit of work should be refreshed, default is true.
        See Also:
        setShouldRefreshInvalidObjectsOnClone(boolean)
      • setShouldRefreshInvalidObjectsOnClone

        public void setShouldRefreshInvalidObjectsOnClone​(boolean shouldRefreshInvalidObjectsOnClone)
        PUBLIC: Set if expired object should be refreshed prior to cloning, default is true. Applies to Protected Entities and UnitOfWork registration.
      • shouldRefreshInvalidObjectsInUnitOfWork

        @Deprecated
        public boolean shouldRefreshInvalidObjectsInUnitOfWork()
        Deprecated.
        since EclipseLink 2.2
        PUBLIC: Return if expired object registered in the unit of work should be refreshed.
        See Also:
        shouldRefreshInvalidObjectsOnClone()
      • shouldRefreshInvalidObjectsOnClone

        public boolean shouldRefreshInvalidObjectsOnClone()
        PUBLIC: Return if expired object should be refreshed prior to cloning. Applies to Protected Entities and UnitOfWork registration.
      • clone

        public java.lang.Object clone()
        Overrides:
        clone in class java.lang.Object