Package com.yahoo.concurrent.classlock
Class ClassLocking
java.lang.Object
com.yahoo.concurrent.classlock.ClassLocking
This class is injectable to Vespa plugins and is used to acquire locks cross
application deployments.
- Author:
- valerijf
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
NotifieslockWhile(java.lang.Class<?>, java.util.function.BooleanSupplier)
to check the interrupt conditionLocks key.lockWhile
(Class<?> clazz, BooleanSupplier interruptCondition) Locks key.
-
Constructor Details
-
ClassLocking
public ClassLocking()
-
-
Method Details
-
lock
Locks key. This will block until the key is acquired. Users of this must close any lock acquired. -
lockWhile
Locks key. This will block until the key is acquired or the interrupt condition is no longer true. Condition is only checked at the start, everytime a lock is released and wheninterrupt()
is called. Users of this must close any lock acquired.- Throws:
LockInterruptException
- if interruptCondition returned false before the lock could be acquired
-
interrupt
public void interrupt()NotifieslockWhile(java.lang.Class<?>, java.util.function.BooleanSupplier)
to check the interrupt condition
-