abstract class Lease extends AnyRef
- Source
- Lease.scala
- Alphabetic
- By Inheritance
- Lease
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new Lease()
Abstract Value Members
- abstract def acquire(leaseLostCallback: [Optional[Throwable]]): [Boolean]
Same as acquire with an additional callback that is called if the lease is lost.
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
- abstract def acquire(): [Boolean]
Try to acquire the lease.
Try to acquire the lease. The returned
CompletionStage
will be completed withtrue
if the lease could be acquired, i.e. no other owner is holding the lease.The returned
Future
will be completed withfalse
if the lease for certain couldn't be acquired, e.g. because some other owner is holding it. It's completed with akka.coordination.lease.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 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.
- abstract def checkLease(): Boolean
Check if the owner still holds the 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 or Lease#release. - abstract def getSettings(): LeaseSettings
- abstract def release(): [Boolean]
Release the lease so some other owner can acquire it.