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
  • 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 - ReactiveRedisConnectionFactory
      environment - 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 - ReactiveRedisConnectionFactory
      environment - environment is part of the key and thus makes sure there is no key conflict between multiple ShedLock instances running on the same Redis
      keyPrefix - prefix of the key in Redis.
    • ReactiveRedisLockProvider

      public ReactiveRedisLockProvider(org.springframework.data.redis.core.ReactiveStringRedisTemplate redisTemplate, String environment, String keyPrefix)
      Create ReactiveRedisLockProvider
      Parameters:
      redisTemplate - ReactiveStringRedisTemplate
      environment - environment is part of the key and thus makes sure there is no key conflict between multiple ShedLock instances running on the same Redis
      keyPrefix - 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:
      lock in interface net.javacrumbs.shedlock.core.LockProvider