Package com.yahoo.concurrent.classlock
Class ClassLocking
- java.lang.Object
-
- com.yahoo.concurrent.classlock.ClassLocking
-
public class ClassLocking extends java.lang.Object
This class is injectable to Vespa plugins and is used to acquire locks cross application deployments.- Author:
- valerijf
-
-
Constructor Summary
Constructors Constructor Description ClassLocking()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
interrupt()
NotifieslockWhile(java.lang.Class<?>, java.util.function.BooleanSupplier)
to check the interrupt conditionClassLock
lock(java.lang.Class<?> clazz)
Locks key.ClassLock
lockWhile(java.lang.Class<?> clazz, java.util.function.BooleanSupplier interruptCondition)
Locks key.
-
-
-
Method Detail
-
lock
public ClassLock lock(java.lang.Class<?> clazz)
Locks key. This will block until the key is acquired. Users of this must close any lock acquired.
-
lockWhile
public ClassLock lockWhile(java.lang.Class<?> clazz, java.util.function.BooleanSupplier interruptCondition)
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
-
-