Package akka.coordination.lease.scaladsl
Class Lease
- java.lang.Object
-
- akka.coordination.lease.scaladsl.Lease
-
public abstract class Lease extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description Lease(LeaseSettings settings)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract scala.concurrent.Future<java.lang.Object>acquire()Try to acquire the lease.abstract scala.concurrent.Future<java.lang.Object>acquire(scala.Function1<scala.Option<java.lang.Throwable>,scala.runtime.BoxedUnit> leaseLostCallback)Same as acquire with an additional callback that is called if the lease is lost.abstract booleancheckLease()Check if the owner still holds the lease.abstract scala.concurrent.Future<java.lang.Object>release()Release the lease so some other owner can acquire it.LeaseSettingssettings()
-
-
-
Constructor Detail
-
Lease
public Lease(LeaseSettings settings)
-
-
Method Detail
-
acquire
public abstract scala.concurrent.Future<java.lang.Object> acquire()
Try to acquire the lease. The returnedFuturewill be completed withtrueif the lease could be acquired, i.e. no other owner is holding the lease.The returned
Futurewill be completed withfalseif the lease for certain couldn't be acquired, e.g. because some other owner is holding it. It's completed withLeaseExceptionfailure 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
akka.coordination.lease.LeaseSettings.ownerNameuntil it is released withLease.release. A Lease implementation will typically also lose 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.checkLeasecan be used to verify that the owner still has the lease.
-
acquire
public abstract scala.concurrent.Future<java.lang.Object> acquire(scala.Function1<scala.Option<java.lang.Throwable>,scala.runtime.BoxedUnit> leaseLostCallback)
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 abstract boolean checkLease()
Check if the owner still holds the lease.truemeans that it certainly holds the lease.falsemeans that it might not hold the lease, but it could, and for more certain response you would have to use {@link Lease#acquire()*} orrelease().
-
release
public abstract scala.concurrent.Future<java.lang.Object> release()
Release the lease so some other owner can acquire it.
-
settings
public LeaseSettings settings()
-
-