Class NonStrictAccessDelegate

  • All Implemented Interfaces:
    org.infinispan.hibernate.cache.commons.access.AccessDelegate

    public class NonStrictAccessDelegate
    extends org.infinispan.hibernate.cache.commons.access.NonStrictAccessDelegate
    Access delegate that relaxes the consistency a bit: stale reads are prohibited only after the transaction commits. This should also be able to work with async caches, and that would allow the replication delay even after the commit.
    Author:
    Radim Vansa <rvansa@redhat.com>
    • Constructor Detail

      • NonStrictAccessDelegate

        public NonStrictAccessDelegate​(org.infinispan.hibernate.cache.commons.InfinispanDataRegion region,
                                       Comparator versionComparator)
    • Method Detail

      • remove

        public void remove​(Object session,
                           Object key)
                    throws org.hibernate.cache.CacheException
        Specified by:
        remove in interface org.infinispan.hibernate.cache.commons.access.AccessDelegate
        Overrides:
        remove in class org.infinispan.hibernate.cache.commons.access.NonStrictAccessDelegate
        Throws:
        org.hibernate.cache.CacheException
      • insert

        public boolean insert​(Object session,
                              Object key,
                              Object value,
                              Object version)
                       throws org.hibernate.cache.CacheException
        Specified by:
        insert in interface org.infinispan.hibernate.cache.commons.access.AccessDelegate
        Overrides:
        insert in class org.infinispan.hibernate.cache.commons.access.NonStrictAccessDelegate
        Throws:
        org.hibernate.cache.CacheException
      • update

        public boolean update​(Object session,
                              Object key,
                              Object value,
                              Object currentVersion,
                              Object previousVersion)
                       throws org.hibernate.cache.CacheException
        Specified by:
        update in interface org.infinispan.hibernate.cache.commons.access.AccessDelegate
        Overrides:
        update in class org.infinispan.hibernate.cache.commons.access.NonStrictAccessDelegate
        Throws:
        org.hibernate.cache.CacheException
      • afterInsert

        public boolean afterInsert​(Object session,
                                   Object key,
                                   Object value,
                                   Object version)
        Specified by:
        afterInsert in interface org.infinispan.hibernate.cache.commons.access.AccessDelegate
        Overrides:
        afterInsert in class org.infinispan.hibernate.cache.commons.access.NonStrictAccessDelegate
      • afterUpdate

        public boolean afterUpdate​(Object session,
                                   Object key,
                                   Object value,
                                   Object currentVersion,
                                   Object previousVersion,
                                   org.hibernate.cache.spi.access.SoftLock lock)
        Specified by:
        afterUpdate in interface org.infinispan.hibernate.cache.commons.access.AccessDelegate
        Overrides:
        afterUpdate in class org.infinispan.hibernate.cache.commons.access.NonStrictAccessDelegate