diff --git a/redisson-hibernate/README.md b/redisson-hibernate/README.md index 7aa55f142..b4baeb18c 100644 --- a/redisson-hibernate/README.md +++ b/redisson-hibernate/README.md @@ -3,6 +3,7 @@ Redis based Hibernate Cache implementation Implements Hibernate 2nd level Cache provider based on Redisson. Supports all Hibernate cache strategies: `READ_ONLY`, `NONSTRICT_READ_WRITE`, `READ_WRITE` and `TRANSACTIONAL`. +It's recommended to use FST or Snappy as [codec](https://github.com/redisson/redisson/wiki/4.-data-serialization). Compatible with Hibernate 4.x, 5.x @@ -21,8 +22,6 @@ Below is the list of all available factories with local cache and/or data partit |RedissonClusteredRegionFactory
available only in [Redisson PRO](http://redisson.pro) edition | No | **Yes** | |RedissonClusteredLocalCachedRegionFactory
available only in [Redisson PRO](http://redisson.pro) edition | **Yes** | **Yes** | -Please consider __[Redisson PRO](https://redisson.pro)__ version for advanced features and support by SLA. - Usage === diff --git a/redisson-hibernate/redisson-hibernate-4/src/main/java/org/redisson/hibernate/region/BaseRegion.java b/redisson-hibernate/redisson-hibernate-4/src/main/java/org/redisson/hibernate/region/BaseRegion.java index 37035b446..600ae94cb 100644 --- a/redisson-hibernate/redisson-hibernate-4/src/main/java/org/redisson/hibernate/region/BaseRegion.java +++ b/redisson-hibernate/redisson-hibernate-4/src/main/java/org/redisson/hibernate/region/BaseRegion.java @@ -35,9 +35,9 @@ import org.redisson.hibernate.RedissonRegionFactory; */ public class BaseRegion implements TransactionalDataRegion, GeneralDataRegion { - RMapCache mapCache; - RegionFactory regionFactory; - CacheDataDescription metadata; + final RMapCache mapCache; + final RegionFactory regionFactory; + final CacheDataDescription metadata; int ttl; int maxIdle; @@ -135,9 +135,10 @@ public class BaseRegion implements TransactionalDataRegion, GeneralDataRegion { @Override public int getTimeout() { + // 60 seconds (normalized value) return (1 << 12) * 60000; } - + @Override public Object get(Object key) throws CacheException { try { diff --git a/redisson-hibernate/redisson-hibernate-4/src/main/java/org/redisson/hibernate/region/RedissonCollectionRegion.java b/redisson-hibernate/redisson-hibernate-4/src/main/java/org/redisson/hibernate/region/RedissonCollectionRegion.java index c292a12f7..ca1854f6e 100644 --- a/redisson-hibernate/redisson-hibernate-4/src/main/java/org/redisson/hibernate/region/RedissonCollectionRegion.java +++ b/redisson-hibernate/redisson-hibernate-4/src/main/java/org/redisson/hibernate/region/RedissonCollectionRegion.java @@ -37,7 +37,7 @@ import org.redisson.hibernate.strategy.TransactionalCollectionRegionAccessStrate */ public class RedissonCollectionRegion extends BaseRegion implements CollectionRegion { - private Settings settings; + private final Settings settings; public RedissonCollectionRegion(RMapCache mapCache, RegionFactory regionFactory, CacheDataDescription metadata, Settings settings, Properties properties, String defaultKey) { diff --git a/redisson-hibernate/redisson-hibernate-4/src/main/java/org/redisson/hibernate/region/RedissonEntityRegion.java b/redisson-hibernate/redisson-hibernate-4/src/main/java/org/redisson/hibernate/region/RedissonEntityRegion.java index ce523933c..9b535ff71 100644 --- a/redisson-hibernate/redisson-hibernate-4/src/main/java/org/redisson/hibernate/region/RedissonEntityRegion.java +++ b/redisson-hibernate/redisson-hibernate-4/src/main/java/org/redisson/hibernate/region/RedissonEntityRegion.java @@ -37,7 +37,7 @@ import org.redisson.hibernate.strategy.TransactionalEntityRegionAccessStrategy; */ public class RedissonEntityRegion extends BaseRegion implements EntityRegion { - private Settings settings; + private final Settings settings; public RedissonEntityRegion(RMapCache mapCache, RegionFactory regionFactory, CacheDataDescription metadata, Settings settings, Properties properties, String defaultKey) { diff --git a/redisson-hibernate/redisson-hibernate-4/src/main/java/org/redisson/hibernate/region/RedissonNaturalIdRegion.java b/redisson-hibernate/redisson-hibernate-4/src/main/java/org/redisson/hibernate/region/RedissonNaturalIdRegion.java index 7139a8c12..11561f632 100644 --- a/redisson-hibernate/redisson-hibernate-4/src/main/java/org/redisson/hibernate/region/RedissonNaturalIdRegion.java +++ b/redisson-hibernate/redisson-hibernate-4/src/main/java/org/redisson/hibernate/region/RedissonNaturalIdRegion.java @@ -37,7 +37,7 @@ import org.redisson.hibernate.strategy.TransactionalNaturalIdRegionAccessStrateg */ public class RedissonNaturalIdRegion extends BaseRegion implements NaturalIdRegion { - private Settings settings; + private final Settings settings; public RedissonNaturalIdRegion(RMapCache mapCache, RegionFactory regionFactory, CacheDataDescription metadata, Settings settings, Properties properties, String defaultKey) { diff --git a/redisson-hibernate/redisson-hibernate-4/src/main/java/org/redisson/hibernate/strategy/AbstractReadWriteAccessStrategy.java b/redisson-hibernate/redisson-hibernate-4/src/main/java/org/redisson/hibernate/strategy/AbstractReadWriteAccessStrategy.java index 9de153fbe..c1968a486 100644 --- a/redisson-hibernate/redisson-hibernate-4/src/main/java/org/redisson/hibernate/strategy/AbstractReadWriteAccessStrategy.java +++ b/redisson-hibernate/redisson-hibernate-4/src/main/java/org/redisson/hibernate/strategy/AbstractReadWriteAccessStrategy.java @@ -61,7 +61,7 @@ public class AbstractReadWriteAccessStrategy extends BaseRegionAccessStrategy { private final UUID uuid = UUID.randomUUID(); private final AtomicLong nextLockId = new AtomicLong(); - RMapCache mapCache; + final RMapCache mapCache; public AbstractReadWriteAccessStrategy(Settings settings, GeneralDataRegion region, RMapCache mapCache) { super(settings, region); diff --git a/redisson-hibernate/redisson-hibernate-4/src/main/java/org/redisson/hibernate/strategy/BaseRegionAccessStrategy.java b/redisson-hibernate/redisson-hibernate-4/src/main/java/org/redisson/hibernate/strategy/BaseRegionAccessStrategy.java index 4198e9d32..c19b4f5e2 100644 --- a/redisson-hibernate/redisson-hibernate-4/src/main/java/org/redisson/hibernate/strategy/BaseRegionAccessStrategy.java +++ b/redisson-hibernate/redisson-hibernate-4/src/main/java/org/redisson/hibernate/strategy/BaseRegionAccessStrategy.java @@ -28,8 +28,8 @@ import org.hibernate.cfg.Settings; */ abstract class BaseRegionAccessStrategy implements RegionAccessStrategy { - GeneralDataRegion region; - Settings settings; + final GeneralDataRegion region; + final Settings settings; BaseRegionAccessStrategy(Settings settings, GeneralDataRegion region) { this.settings = settings; diff --git a/redisson-hibernate/redisson-hibernate-5/src/main/java/org/redisson/hibernate/region/BaseRegion.java b/redisson-hibernate/redisson-hibernate-5/src/main/java/org/redisson/hibernate/region/BaseRegion.java index 41615b7a0..e6fffd37f 100644 --- a/redisson-hibernate/redisson-hibernate-5/src/main/java/org/redisson/hibernate/region/BaseRegion.java +++ b/redisson-hibernate/redisson-hibernate-5/src/main/java/org/redisson/hibernate/region/BaseRegion.java @@ -36,9 +36,9 @@ import org.redisson.hibernate.RedissonRegionFactory; */ public class BaseRegion implements TransactionalDataRegion, GeneralDataRegion { - RMapCache mapCache; - RegionFactory regionFactory; - CacheDataDescription metadata; + final RMapCache mapCache; + final RegionFactory regionFactory; + final CacheDataDescription metadata; int ttl; int maxIdle; @@ -136,6 +136,7 @@ public class BaseRegion implements TransactionalDataRegion, GeneralDataRegion { @Override public int getTimeout() { + // 60 seconds (normalized value) return (1 << 12) * 60000; } diff --git a/redisson-hibernate/redisson-hibernate-5/src/main/java/org/redisson/hibernate/region/RedissonCollectionRegion.java b/redisson-hibernate/redisson-hibernate-5/src/main/java/org/redisson/hibernate/region/RedissonCollectionRegion.java index c292a12f7..ca1854f6e 100644 --- a/redisson-hibernate/redisson-hibernate-5/src/main/java/org/redisson/hibernate/region/RedissonCollectionRegion.java +++ b/redisson-hibernate/redisson-hibernate-5/src/main/java/org/redisson/hibernate/region/RedissonCollectionRegion.java @@ -37,7 +37,7 @@ import org.redisson.hibernate.strategy.TransactionalCollectionRegionAccessStrate */ public class RedissonCollectionRegion extends BaseRegion implements CollectionRegion { - private Settings settings; + private final Settings settings; public RedissonCollectionRegion(RMapCache mapCache, RegionFactory regionFactory, CacheDataDescription metadata, Settings settings, Properties properties, String defaultKey) { diff --git a/redisson-hibernate/redisson-hibernate-5/src/main/java/org/redisson/hibernate/region/RedissonEntityRegion.java b/redisson-hibernate/redisson-hibernate-5/src/main/java/org/redisson/hibernate/region/RedissonEntityRegion.java index ce523933c..9b535ff71 100644 --- a/redisson-hibernate/redisson-hibernate-5/src/main/java/org/redisson/hibernate/region/RedissonEntityRegion.java +++ b/redisson-hibernate/redisson-hibernate-5/src/main/java/org/redisson/hibernate/region/RedissonEntityRegion.java @@ -37,7 +37,7 @@ import org.redisson.hibernate.strategy.TransactionalEntityRegionAccessStrategy; */ public class RedissonEntityRegion extends BaseRegion implements EntityRegion { - private Settings settings; + private final Settings settings; public RedissonEntityRegion(RMapCache mapCache, RegionFactory regionFactory, CacheDataDescription metadata, Settings settings, Properties properties, String defaultKey) { diff --git a/redisson-hibernate/redisson-hibernate-5/src/main/java/org/redisson/hibernate/region/RedissonNaturalIdRegion.java b/redisson-hibernate/redisson-hibernate-5/src/main/java/org/redisson/hibernate/region/RedissonNaturalIdRegion.java index 7139a8c12..11561f632 100644 --- a/redisson-hibernate/redisson-hibernate-5/src/main/java/org/redisson/hibernate/region/RedissonNaturalIdRegion.java +++ b/redisson-hibernate/redisson-hibernate-5/src/main/java/org/redisson/hibernate/region/RedissonNaturalIdRegion.java @@ -37,7 +37,7 @@ import org.redisson.hibernate.strategy.TransactionalNaturalIdRegionAccessStrateg */ public class RedissonNaturalIdRegion extends BaseRegion implements NaturalIdRegion { - private Settings settings; + private final Settings settings; public RedissonNaturalIdRegion(RMapCache mapCache, RegionFactory regionFactory, CacheDataDescription metadata, Settings settings, Properties properties, String defaultKey) { diff --git a/redisson-hibernate/redisson-hibernate-5/src/main/java/org/redisson/hibernate/strategy/AbstractReadWriteAccessStrategy.java b/redisson-hibernate/redisson-hibernate-5/src/main/java/org/redisson/hibernate/strategy/AbstractReadWriteAccessStrategy.java index 19aa6bab7..624da0ebf 100644 --- a/redisson-hibernate/redisson-hibernate-5/src/main/java/org/redisson/hibernate/strategy/AbstractReadWriteAccessStrategy.java +++ b/redisson-hibernate/redisson-hibernate-5/src/main/java/org/redisson/hibernate/strategy/AbstractReadWriteAccessStrategy.java @@ -62,7 +62,7 @@ public class AbstractReadWriteAccessStrategy extends BaseRegionAccessStrategy { private final UUID uuid = UUID.randomUUID(); private final AtomicLong nextLockId = new AtomicLong(); - RMapCache mapCache; + final RMapCache mapCache; public AbstractReadWriteAccessStrategy(Settings settings, GeneralDataRegion region, RMapCache mapCache) { super(settings, region); diff --git a/redisson-hibernate/redisson-hibernate-5/src/main/java/org/redisson/hibernate/strategy/BaseRegionAccessStrategy.java b/redisson-hibernate/redisson-hibernate-5/src/main/java/org/redisson/hibernate/strategy/BaseRegionAccessStrategy.java index 4c8f2ace3..69b1f6215 100644 --- a/redisson-hibernate/redisson-hibernate-5/src/main/java/org/redisson/hibernate/strategy/BaseRegionAccessStrategy.java +++ b/redisson-hibernate/redisson-hibernate-5/src/main/java/org/redisson/hibernate/strategy/BaseRegionAccessStrategy.java @@ -29,8 +29,8 @@ import org.hibernate.engine.spi.SessionImplementor; */ abstract class BaseRegionAccessStrategy implements RegionAccessStrategy { - GeneralDataRegion region; - Settings settings; + final GeneralDataRegion region; + final Settings settings; BaseRegionAccessStrategy(Settings settings, GeneralDataRegion region) { this.settings = settings; diff --git a/redisson-hibernate/redisson-hibernate-52/src/main/java/org/redisson/hibernate/region/BaseRegion.java b/redisson-hibernate/redisson-hibernate-52/src/main/java/org/redisson/hibernate/region/BaseRegion.java index 9c46d2910..31d683a66 100644 --- a/redisson-hibernate/redisson-hibernate-52/src/main/java/org/redisson/hibernate/region/BaseRegion.java +++ b/redisson-hibernate/redisson-hibernate-52/src/main/java/org/redisson/hibernate/region/BaseRegion.java @@ -36,9 +36,9 @@ import org.redisson.hibernate.RedissonRegionFactory; */ public class BaseRegion implements TransactionalDataRegion, GeneralDataRegion { - RMapCache mapCache; - RegionFactory regionFactory; - CacheDataDescription metadata; + final RMapCache mapCache; + final RegionFactory regionFactory; + final CacheDataDescription metadata; int ttl; int maxIdle; @@ -136,6 +136,7 @@ public class BaseRegion implements TransactionalDataRegion, GeneralDataRegion { @Override public int getTimeout() { + // 60 seconds (normalized value) return (1 << 12) * 60000; } diff --git a/redisson-hibernate/redisson-hibernate-52/src/main/java/org/redisson/hibernate/region/RedissonCollectionRegion.java b/redisson-hibernate/redisson-hibernate-52/src/main/java/org/redisson/hibernate/region/RedissonCollectionRegion.java index c292a12f7..ca1854f6e 100644 --- a/redisson-hibernate/redisson-hibernate-52/src/main/java/org/redisson/hibernate/region/RedissonCollectionRegion.java +++ b/redisson-hibernate/redisson-hibernate-52/src/main/java/org/redisson/hibernate/region/RedissonCollectionRegion.java @@ -37,7 +37,7 @@ import org.redisson.hibernate.strategy.TransactionalCollectionRegionAccessStrate */ public class RedissonCollectionRegion extends BaseRegion implements CollectionRegion { - private Settings settings; + private final Settings settings; public RedissonCollectionRegion(RMapCache mapCache, RegionFactory regionFactory, CacheDataDescription metadata, Settings settings, Properties properties, String defaultKey) { diff --git a/redisson-hibernate/redisson-hibernate-52/src/main/java/org/redisson/hibernate/region/RedissonEntityRegion.java b/redisson-hibernate/redisson-hibernate-52/src/main/java/org/redisson/hibernate/region/RedissonEntityRegion.java index ce523933c..9b535ff71 100644 --- a/redisson-hibernate/redisson-hibernate-52/src/main/java/org/redisson/hibernate/region/RedissonEntityRegion.java +++ b/redisson-hibernate/redisson-hibernate-52/src/main/java/org/redisson/hibernate/region/RedissonEntityRegion.java @@ -37,7 +37,7 @@ import org.redisson.hibernate.strategy.TransactionalEntityRegionAccessStrategy; */ public class RedissonEntityRegion extends BaseRegion implements EntityRegion { - private Settings settings; + private final Settings settings; public RedissonEntityRegion(RMapCache mapCache, RegionFactory regionFactory, CacheDataDescription metadata, Settings settings, Properties properties, String defaultKey) { diff --git a/redisson-hibernate/redisson-hibernate-52/src/main/java/org/redisson/hibernate/region/RedissonNaturalIdRegion.java b/redisson-hibernate/redisson-hibernate-52/src/main/java/org/redisson/hibernate/region/RedissonNaturalIdRegion.java index 7139a8c12..11561f632 100644 --- a/redisson-hibernate/redisson-hibernate-52/src/main/java/org/redisson/hibernate/region/RedissonNaturalIdRegion.java +++ b/redisson-hibernate/redisson-hibernate-52/src/main/java/org/redisson/hibernate/region/RedissonNaturalIdRegion.java @@ -37,7 +37,7 @@ import org.redisson.hibernate.strategy.TransactionalNaturalIdRegionAccessStrateg */ public class RedissonNaturalIdRegion extends BaseRegion implements NaturalIdRegion { - private Settings settings; + private final Settings settings; public RedissonNaturalIdRegion(RMapCache mapCache, RegionFactory regionFactory, CacheDataDescription metadata, Settings settings, Properties properties, String defaultKey) { diff --git a/redisson-hibernate/redisson-hibernate-52/src/main/java/org/redisson/hibernate/strategy/AbstractReadWriteAccessStrategy.java b/redisson-hibernate/redisson-hibernate-52/src/main/java/org/redisson/hibernate/strategy/AbstractReadWriteAccessStrategy.java index 03f5f0e1e..de64ee95f 100644 --- a/redisson-hibernate/redisson-hibernate-52/src/main/java/org/redisson/hibernate/strategy/AbstractReadWriteAccessStrategy.java +++ b/redisson-hibernate/redisson-hibernate-52/src/main/java/org/redisson/hibernate/strategy/AbstractReadWriteAccessStrategy.java @@ -62,7 +62,7 @@ public class AbstractReadWriteAccessStrategy extends BaseRegionAccessStrategy { private final UUID uuid = UUID.randomUUID(); private final AtomicLong nextLockId = new AtomicLong(); - RMapCache mapCache; + final RMapCache mapCache; public AbstractReadWriteAccessStrategy(Settings settings, GeneralDataRegion region, RMapCache mapCache) { super(settings, region); diff --git a/redisson-hibernate/redisson-hibernate-52/src/main/java/org/redisson/hibernate/strategy/BaseRegionAccessStrategy.java b/redisson-hibernate/redisson-hibernate-52/src/main/java/org/redisson/hibernate/strategy/BaseRegionAccessStrategy.java index 0c8e6e7dc..d06db3e4b 100644 --- a/redisson-hibernate/redisson-hibernate-52/src/main/java/org/redisson/hibernate/strategy/BaseRegionAccessStrategy.java +++ b/redisson-hibernate/redisson-hibernate-52/src/main/java/org/redisson/hibernate/strategy/BaseRegionAccessStrategy.java @@ -29,8 +29,8 @@ import org.hibernate.engine.spi.SharedSessionContractImplementor; */ abstract class BaseRegionAccessStrategy implements RegionAccessStrategy { - GeneralDataRegion region; - Settings settings; + final GeneralDataRegion region; + final Settings settings; BaseRegionAccessStrategy(Settings settings, GeneralDataRegion region) { this.settings = settings; diff --git a/redisson-hibernate/redisson-hibernate-53/src/main/java/org/redisson/hibernate/RedissonStorage.java b/redisson-hibernate/redisson-hibernate-53/src/main/java/org/redisson/hibernate/RedissonStorage.java index 8d736893b..7810ccc5d 100644 --- a/redisson-hibernate/redisson-hibernate-53/src/main/java/org/redisson/hibernate/RedissonStorage.java +++ b/redisson-hibernate/redisson-hibernate-53/src/main/java/org/redisson/hibernate/RedissonStorage.java @@ -29,7 +29,7 @@ import org.redisson.api.RMapCache; */ public class RedissonStorage implements DomainDataStorageAccess { - private RMapCache mapCache; + private final RMapCache mapCache; int ttl; int maxIdle;