Class LeaseAdapter

  • public final class LeaseAdapter
    extends Lease
    • Constructor Summary

      Constructor Description
      LeaseAdapter​(Lease delegate, scala.concurrent.ExecutionContext ec)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.concurrent.CompletionStage<java.lang.Boolean> acquire()
      Try to acquire the lease.
      java.util.concurrent.CompletionStage<java.lang.Boolean> acquire​(java.util.function.Consumer<java.util.Optional<java.lang.Throwable>> leaseLostCallback)
      Same as acquire with an additional callback that is called if the lease is lost.
      boolean checkLease()
      Check if the owner still holds the lease.
      scala.concurrent.ExecutionContext ec()  
      LeaseSettings getSettings()  
      java.util.concurrent.CompletionStage<java.lang.Boolean> release()
      Release the lease so some other owner can acquire it.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • LeaseAdapter

        public LeaseAdapter​(Lease delegate,
                            scala.concurrent.ExecutionContext ec)
    • Method Detail

      • acquire

        public java.util.concurrent.CompletionStage<java.lang.Boolean> acquire()
        Description copied from class: Lease
        Try to acquire the lease. The returned CompletionStage will be completed with true if the lease could be acquired, i.e. no other owner is holding the lease.

        The returned Future will be completed with false if the lease for certain couldn't be acquired, e.g. because some other owner is holding it. It's completed with LeaseException failure if it might not have been able to acquire the lease, e.g. communication timeout with the lease resource.

        The lease will be held by the LeaseSettings.ownerName until it is released with Lease.release. A Lease implementation will typically also loose the ownership if it can't maintain its authority, e.g. if it crashes or is partitioned from the lease resource for too long.

        Lease.checkLease can be used to verify that the owner still has the lease.

        Specified by:
        acquire in class Lease
      • acquire

        public java.util.concurrent.CompletionStage<java.lang.Boolean> acquire​(java.util.function.Consumer<java.util.Optional<java.lang.Throwable>> leaseLostCallback)
        Description copied from class: Lease
        Same as acquire with an additional callback that is called if the lease is lost. The lease can be lose due to being unable to communicate with the lease provider. Implementations should not call leaseLostCallback until after the returned future has been completed
        Specified by:
        acquire in class Lease
      • checkLease

        public boolean checkLease()
        Description copied from class: Lease
        Check if the owner still holds the lease. true means that it certainly holds the lease. false means that it might not hold the lease, but it could, and for more certain response you would have to use {@link Lease#acquire()*} or Lease.release().
        Specified by:
        checkLease in class Lease
      • ec

        public scala.concurrent.ExecutionContext ec()
      • release

        public java.util.concurrent.CompletionStage<java.lang.Boolean> release()
        Description copied from class: Lease
        Release the lease so some other owner can acquire it.
        Specified by:
        release in class Lease