Package akka.coordination.lease.internal
Class LeaseAdapter
- java.lang.Object
-
- akka.coordination.lease.javadsl.Lease
-
- akka.coordination.lease.internal.LeaseAdapter
-
public final class LeaseAdapter extends Lease
INTERNAL API
-
-
Constructor Summary
Constructors 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.
-
-
-
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 returnedCompletionStage
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 withLeaseException
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 withLease.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.
-
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
-
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()*} orLease.release()
.- Specified by:
checkLease
in classLease
- Returns:
- (undocumented)
-
ec
public scala.concurrent.ExecutionContext ec()
-
getSettings
public LeaseSettings getSettings()
- Specified by:
getSettings
in classLease
-
-