Class JedisLockProvider
java.lang.Object
net.javacrumbs.shedlock.provider.redis.jedis.JedisLockProvider
- All Implemented Interfaces:
LockProvider
public class JedisLockProvider extends Object implements LockProvider
Uses Redis's `SET resource-name anystring NX PX max-lock-ms-time` as locking mechanism.
See https://redis.io/commands/set
-
Constructor Summary
Constructors Constructor Description JedisLockProvider(redis.clients.jedis.JedisCluster jedisCluster, String environment)Creates JedisLockProviderJedisLockProvider(redis.clients.jedis.util.Pool<redis.clients.jedis.Jedis> jedisPool)JedisLockProvider(redis.clients.jedis.util.Pool<redis.clients.jedis.Jedis> jedisPool, String environment)Creates JedisLockProvider -
Method Summary
Modifier and Type Method Description Optional<SimpleLock>lock(LockConfiguration lockConfiguration)
-
Constructor Details
-
JedisLockProvider
public JedisLockProvider(redis.clients.jedis.util.Pool<redis.clients.jedis.Jedis> jedisPool) -
JedisLockProvider
public JedisLockProvider(redis.clients.jedis.util.Pool<redis.clients.jedis.Jedis> jedisPool, String environment)Creates JedisLockProvider- Parameters:
jedisPool- Jedis connection poolenvironment- environment is part of the key and thus makes sure there is not key conflict between multiple ShedLock instances running on the same Redis
-
JedisLockProvider
Creates JedisLockProvider- Parameters:
jedisCluster- Jedis clusterenvironment- environment is part of the key and thus makes sure there is not key conflict between multiple ShedLock instances running on the same Redis
-
-
Method Details
-
lock
- Specified by:
lockin interfaceLockProvider
-