Interface EntityRegionAccessStrategy

All Known Implementing Classes:
EntityAccessStrategyAdapter

public interface EntityRegionAccessStrategy
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    afterInsert(Object key, Object value, Object version)
    Called after an item has been inserted (after the transaction completes), instead of calling release().
    boolean
    afterUpdate(Object key, Object value, Object currentVersion, Object previousVersion, SoftLock lock)
    Called after an item has been updated (after the transaction completes), instead of calling release().
    void
    Forcibly evict an item from the cache immediately without regard for transaction isolation.
    void
    Forcibly evict all items from the cache immediately without regard for transaction isolation.
    get(Object key, long txTimestamp)
    Attempt to retrieve an object from the cache.
    Get the wrapped entity cache region
    boolean
    insert(Object key, Object value, Object version)
    Called after an item has been inserted (before the transaction completes), instead of calling evict().
    lockItem(Object key, Object version)
    We are going to attempt to update/delete the keyed object.
    Lock the entire region
    boolean
    putFromLoad(Object key, Object value, long txTimestamp, Object version)
    Attempt to cache an object, after loading from the database.
    boolean
    putFromLoad(Object key, Object value, long txTimestamp, Object version, boolean minimalPutOverride)
    Attempt to cache an object, after loading from the database, explicitly specifying the minimalPut behavior.
    void
    Called after an item has become stale (before the transaction completes).
    void
    Called to evict data from the entire region
    void
    Called when we have finished the attempted update/delete (which may or may not have been successful), after transaction completion.
    void
    Called after we have finished the attempted invalidation of the entire region
    boolean
    update(Object key, Object value, Object currentVersion, Object previousVersion)
    Called after an item has been updated (before the transaction completes), instead of calling evict().
  • Method Details

    • getRegion

      EntityRegion getRegion()
      Get the wrapped entity cache region
      Returns:
      The underlying region
    • get

      Object get(Object key, long txTimestamp) throws CacheException
      Attempt to retrieve an object from the cache. Mainly used in attempting to resolve entities/collections from the second level cache.
      Parameters:
      key - The key of the item to be retrieved.
      txTimestamp - a timestamp prior to the transaction start time
      Returns:
      the cached object or null
      Throws:
      CacheException - Propogated from underlying Region
    • putFromLoad

      boolean putFromLoad(Object key, Object value, long txTimestamp, Object version) throws CacheException
      Attempt to cache an object, after loading from the database.
      Parameters:
      key - The item key
      value - The item
      txTimestamp - a timestamp prior to the transaction start time
      version - the item version number
      Returns:
      true if the object was successfully cached
      Throws:
      CacheException - Propogated from underlying Region
    • putFromLoad

      boolean putFromLoad(Object key, Object value, long txTimestamp, Object version, boolean minimalPutOverride) throws CacheException
      Attempt to cache an object, after loading from the database, explicitly specifying the minimalPut behavior.
      Parameters:
      key - The item key
      value - The item
      txTimestamp - a timestamp prior to the transaction start time
      version - the item version number
      minimalPutOverride - Explicit minimalPut flag
      Returns:
      true if the object was successfully cached
      Throws:
      CacheException - Propogated from underlying Region
    • lockItem

      SoftLock lockItem(Object key, Object version) throws CacheException
      We are going to attempt to update/delete the keyed object. This method is used by "asynchronous" concurrency strategies.

      The returned object must be passed back to release(), to release the lock. Concurrency strategies which do not support client-visible locks may silently return null.

      Parameters:
      key - The key of the item to lock
      version - The item's current version value
      Returns:
      A representation of our lock on the item; or null.
      Throws:
      CacheException - Propogated from underlying Region
    • lockRegion

      SoftLock lockRegion() throws CacheException
      Lock the entire region
      Returns:
      A representation of our lock on the item; or null.
      Throws:
      CacheException - Propogated from underlying Region
    • unlockItem

      void unlockItem(Object key, SoftLock lock) throws CacheException
      Called when we have finished the attempted update/delete (which may or may not have been successful), after transaction completion. This method is used by "asynchronous" concurrency strategies.
      Parameters:
      key - The item key
      lock - The lock previously obtained from lockItem(java.lang.Object, java.lang.Object)
      Throws:
      CacheException - Propogated from underlying Region
    • unlockRegion

      void unlockRegion(SoftLock lock) throws CacheException
      Called after we have finished the attempted invalidation of the entire region
      Parameters:
      lock - The lock previously obtained from lockRegion()
      Throws:
      CacheException - Propogated from underlying Region
    • insert

      boolean insert(Object key, Object value, Object version) throws CacheException
      Called after an item has been inserted (before the transaction completes), instead of calling evict(). This method is used by "synchronous" concurrency strategies.
      Parameters:
      key - The item key
      value - The item
      version - The item's version value
      Returns:
      Were the contents of the cache actual changed by this operation?
      Throws:
      CacheException - Propogated from underlying Region
    • afterInsert

      boolean afterInsert(Object key, Object value, Object version) throws CacheException
      Called after an item has been inserted (after the transaction completes), instead of calling release(). This method is used by "asynchronous" concurrency strategies.
      Parameters:
      key - The item key
      value - The item
      version - The item's version value
      Returns:
      Were the contents of the cache actual changed by this operation?
      Throws:
      CacheException - Propogated from underlying Region
    • update

      boolean update(Object key, Object value, Object currentVersion, Object previousVersion) throws CacheException
      Called after an item has been updated (before the transaction completes), instead of calling evict(). This method is used by "synchronous" concurrency strategies.
      Parameters:
      key - The item key
      value - The item
      currentVersion - The item's current version value
      previousVersion - The item's previous version value
      Returns:
      Were the contents of the cache actual changed by this operation?
      Throws:
      CacheException - Propogated from underlying Region
    • afterUpdate

      boolean afterUpdate(Object key, Object value, Object currentVersion, Object previousVersion, SoftLock lock) throws CacheException
      Called after an item has been updated (after the transaction completes), instead of calling release(). This method is used by "asynchronous" concurrency strategies.
      Parameters:
      key - The item key
      value - The item
      currentVersion - The item's current version value
      previousVersion - The item's previous version value
      lock - The lock previously obtained from lockItem(java.lang.Object, java.lang.Object)
      Returns:
      Were the contents of the cache actual changed by this operation?
      Throws:
      CacheException - Propogated from underlying Region
    • remove

      void remove(Object key) throws CacheException
      Called after an item has become stale (before the transaction completes). This method is used by "synchronous" concurrency strategies.
      Parameters:
      key - The key of the item to remove
      Throws:
      CacheException - Propogated from underlying Region
    • removeAll

      void removeAll() throws CacheException
      Called to evict data from the entire region
      Throws:
      CacheException - Propogated from underlying Region
    • evict

      void evict(Object key) throws CacheException
      Forcibly evict an item from the cache immediately without regard for transaction isolation.
      Parameters:
      key - The key of the item to remove
      Throws:
      CacheException - Propogated from underlying Region
    • evictAll

      void evictAll() throws CacheException
      Forcibly evict all items from the cache immediately without regard for transaction isolation.
      Throws:
      CacheException - Propogated from underlying Region