Class RedisLockManager

java.lang.Object
com.netflix.spinnaker.kork.jedis.lock.RedisLockManager
All Implemented Interfaces:
com.netflix.spinnaker.kork.lock.LockManager, com.netflix.spinnaker.kork.lock.RefreshableLockManager

public class RedisLockManager extends Object implements com.netflix.spinnaker.kork.lock.RefreshableLockManager
  • Nested Class Summary

    Nested classes/interfaces inherited from interface com.netflix.spinnaker.kork.lock.LockManager

    com.netflix.spinnaker.kork.lock.LockManager.AcquireLockResponse<R extends Object>, com.netflix.spinnaker.kork.lock.LockManager.Lock, com.netflix.spinnaker.kork.lock.LockManager.LockCallbackException, com.netflix.spinnaker.kork.lock.LockManager.LockException, com.netflix.spinnaker.kork.lock.LockManager.LockExpiredException, com.netflix.spinnaker.kork.lock.LockManager.LockMetricsConstants, com.netflix.spinnaker.kork.lock.LockManager.LockNotAcquiredException, com.netflix.spinnaker.kork.lock.LockManager.LockOptions, com.netflix.spinnaker.kork.lock.LockManager.LockReleaseStatus, com.netflix.spinnaker.kork.lock.LockManager.LockStatus, com.netflix.spinnaker.kork.lock.LockManager.Named

    Nested classes/interfaces inherited from interface com.netflix.spinnaker.kork.lock.RefreshableLockManager

    com.netflix.spinnaker.kork.lock.RefreshableLockManager.HeartbeatLockRequest, com.netflix.spinnaker.kork.lock.RefreshableLockManager.HeartbeatResponse, com.netflix.spinnaker.kork.lock.RefreshableLockManager.LockFailedHeartbeatException, com.netflix.spinnaker.kork.lock.RefreshableLockManager.LockHeartbeatStatus
  • Field Summary

    Fields inherited from interface com.netflix.spinnaker.kork.lock.LockManager

    NAME_FALLBACK
  • Constructor Summary

    Constructors
    Constructor
    Description
    RedisLockManager(String ownerName, Clock clock, com.netflix.spectator.api.Registry registry, com.fasterxml.jackson.databind.ObjectMapper objectMapper, RedisClientDelegate redisClientDelegate)
     
    RedisLockManager(String ownerName, Clock clock, com.netflix.spectator.api.Registry registry, com.fasterxml.jackson.databind.ObjectMapper objectMapper, RedisClientDelegate redisClientDelegate, Optional<Long> heartbeatRateMillis, Optional<Long> leaseDurationMillis)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    com.netflix.spinnaker.kork.lock.LockManager.AcquireLockResponse<Void>
    acquireLock(com.netflix.spinnaker.kork.lock.LockManager.LockOptions lockOptions, Runnable onLockAcquiredCallback)
     
    <R> com.netflix.spinnaker.kork.lock.LockManager.AcquireLockResponse<R>
    acquireLock(com.netflix.spinnaker.kork.lock.LockManager.LockOptions lockOptions, Callable<R> onLockAcquiredCallback)
     
    com.netflix.spinnaker.kork.lock.LockManager.AcquireLockResponse<Void>
    acquireLock(String lockName, long maximumLockDurationMillis, Runnable onLockAcquiredCallback)
     
    <R> com.netflix.spinnaker.kork.lock.LockManager.AcquireLockResponse<R>
    acquireLock(String lockName, long maximumLockDurationMillis, Callable<R> onLockAcquiredCallback)
     
    com.netflix.spinnaker.kork.lock.RefreshableLockManager.HeartbeatResponse
    heartbeat(com.netflix.spinnaker.kork.lock.RefreshableLockManager.HeartbeatLockRequest heartbeatLockRequest)
     
    void
    queueHeartbeat(com.netflix.spinnaker.kork.lock.RefreshableLockManager.HeartbeatLockRequest heartbeatLockRequest)
     
    boolean
    releaseLock(com.netflix.spinnaker.kork.lock.LockManager.Lock lock, boolean wasWorkSuccessful)
     
    com.netflix.spinnaker.kork.lock.LockManager.Lock
    tryCreateLock(com.netflix.spinnaker.kork.lock.LockManager.LockOptions lockOptions)
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface com.netflix.spinnaker.kork.lock.LockManager

    getOwnerName, lockKey
  • Constructor Details

    • RedisLockManager

      public RedisLockManager(String ownerName, Clock clock, com.netflix.spectator.api.Registry registry, com.fasterxml.jackson.databind.ObjectMapper objectMapper, RedisClientDelegate redisClientDelegate, Optional<Long> heartbeatRateMillis, Optional<Long> leaseDurationMillis)
    • RedisLockManager

      public RedisLockManager(String ownerName, Clock clock, com.netflix.spectator.api.Registry registry, com.fasterxml.jackson.databind.ObjectMapper objectMapper, RedisClientDelegate redisClientDelegate)
  • Method Details

    • acquireLock

      public <R> com.netflix.spinnaker.kork.lock.LockManager.AcquireLockResponse<R> acquireLock(@Nonnull com.netflix.spinnaker.kork.lock.LockManager.LockOptions lockOptions, @Nonnull Callable<R> onLockAcquiredCallback)
      Specified by:
      acquireLock in interface com.netflix.spinnaker.kork.lock.LockManager
    • acquireLock

      public <R> com.netflix.spinnaker.kork.lock.LockManager.AcquireLockResponse<R> acquireLock(@Nonnull String lockName, long maximumLockDurationMillis, @Nonnull Callable<R> onLockAcquiredCallback)
      Specified by:
      acquireLock in interface com.netflix.spinnaker.kork.lock.LockManager
    • acquireLock

      public com.netflix.spinnaker.kork.lock.LockManager.AcquireLockResponse<Void> acquireLock(@Nonnull String lockName, long maximumLockDurationMillis, @Nonnull Runnable onLockAcquiredCallback)
      Specified by:
      acquireLock in interface com.netflix.spinnaker.kork.lock.LockManager
    • acquireLock

      public com.netflix.spinnaker.kork.lock.LockManager.AcquireLockResponse<Void> acquireLock(@Nonnull com.netflix.spinnaker.kork.lock.LockManager.LockOptions lockOptions, @Nonnull Runnable onLockAcquiredCallback)
      Specified by:
      acquireLock in interface com.netflix.spinnaker.kork.lock.LockManager
    • releaseLock

      public boolean releaseLock(@Nonnull com.netflix.spinnaker.kork.lock.LockManager.Lock lock, boolean wasWorkSuccessful)
      Specified by:
      releaseLock in interface com.netflix.spinnaker.kork.lock.LockManager
    • heartbeat

      public com.netflix.spinnaker.kork.lock.RefreshableLockManager.HeartbeatResponse heartbeat(com.netflix.spinnaker.kork.lock.RefreshableLockManager.HeartbeatLockRequest heartbeatLockRequest)
      Specified by:
      heartbeat in interface com.netflix.spinnaker.kork.lock.RefreshableLockManager
    • queueHeartbeat

      public void queueHeartbeat(com.netflix.spinnaker.kork.lock.RefreshableLockManager.HeartbeatLockRequest heartbeatLockRequest)
      Specified by:
      queueHeartbeat in interface com.netflix.spinnaker.kork.lock.RefreshableLockManager
    • tryCreateLock

      public com.netflix.spinnaker.kork.lock.LockManager.Lock tryCreateLock(com.netflix.spinnaker.kork.lock.LockManager.LockOptions lockOptions)
      Specified by:
      tryCreateLock in interface com.netflix.spinnaker.kork.lock.LockManager