Class CacheInvalidationPolicy

    • 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 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​(CacheKey key)
        INTERNAL: Get the next time when this object will become invalid
      • getRemainingValidTime

        public long getRemainingValidTime​(CacheKey key)
        INTERNAL: Return the remaining life of this object
      • isInvalidated

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

        public abstract boolean isInvalidated​(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.
      • 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.
      • shouldRefreshInvalidObjectsOnClone

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