Class ReactiveRedisLockProvider
java.lang.Object
net.javacrumbs.shedlock.provider.redis.spring.ReactiveRedisLockProvider
- All Implemented Interfaces:
net.javacrumbs.shedlock.core.LockProvider
public class ReactiveRedisLockProvider
extends Object
implements net.javacrumbs.shedlock.core.LockProvider
Uses Redis's `SET resource-name anystring NX PX max-lock-ms-time` as locking
mechanism. See https://redis.io/commands/set
-
Nested Class Summary
Nested Classes -
Constructor Summary
ConstructorsConstructorDescriptionReactiveRedisLockProvider(org.springframework.data.redis.connection.ReactiveRedisConnectionFactory redisConn) ReactiveRedisLockProvider(org.springframework.data.redis.connection.ReactiveRedisConnectionFactory redisConn, String environment) Creates ReactiveRedisLockProviderReactiveRedisLockProvider(org.springframework.data.redis.connection.ReactiveRedisConnectionFactory redisConn, String environment, String keyPrefix) Creates ReactiveRedisLockProviderReactiveRedisLockProvider(org.springframework.data.redis.core.ReactiveStringRedisTemplate redisTemplate, String environment, String keyPrefix) Create ReactiveRedisLockProvider -
Method Summary
-
Constructor Details
-
ReactiveRedisLockProvider
public ReactiveRedisLockProvider(org.springframework.data.redis.connection.ReactiveRedisConnectionFactory redisConn) -
ReactiveRedisLockProvider
public ReactiveRedisLockProvider(org.springframework.data.redis.connection.ReactiveRedisConnectionFactory redisConn, String environment) Creates ReactiveRedisLockProvider- Parameters:
redisConn- ReactiveRedisConnectionFactoryenvironment- environment is part of the key and thus makes sure there is no key conflict between multiple ShedLock instances running on the same Redis
-
ReactiveRedisLockProvider
public ReactiveRedisLockProvider(org.springframework.data.redis.connection.ReactiveRedisConnectionFactory redisConn, String environment, String keyPrefix) Creates ReactiveRedisLockProvider- Parameters:
redisConn- ReactiveRedisConnectionFactoryenvironment- environment is part of the key and thus makes sure there is no key conflict between multiple ShedLock instances running on the same RediskeyPrefix- prefix of the key in Redis.
-
ReactiveRedisLockProvider
public ReactiveRedisLockProvider(org.springframework.data.redis.core.ReactiveStringRedisTemplate redisTemplate, String environment, String keyPrefix) Create ReactiveRedisLockProvider- Parameters:
redisTemplate- ReactiveStringRedisTemplateenvironment- environment is part of the key and thus makes sure there is no key conflict between multiple ShedLock instances running on the same RediskeyPrefix- prefix of the key in Redis.
-
-
Method Details
-
lock
public Optional<net.javacrumbs.shedlock.core.SimpleLock> lock(net.javacrumbs.shedlock.core.LockConfiguration lockConfiguration) - Specified by:
lockin interfacenet.javacrumbs.shedlock.core.LockProvider
-