@Beta @ThreadSafe public static interface CycleDetectingLockFactory.Policy
Encapsulates the action to be taken when a potential deadlock is encountered. Clients can use one of the predefined CycleDetectingLockFactory.Policies
or specify a custom implementation. Implementations must be thread-safe.
Modifier and Type | Method and Description |
---|---|
void |
handlePotentialDeadlock(CycleDetectingLockFactory.PotentialDeadlockException exception)
Called when a potential deadlock is encountered.
|
void handlePotentialDeadlock(CycleDetectingLockFactory.PotentialDeadlockException exception)
Called when a potential deadlock is encountered. Implementations can throw the given exception
and/or execute other desired logic.
Note that the method will be called even upon an invocation of tryLock()
. Although tryLock()
technically recovers from deadlock by eventually timing out, this behavior is chosen based on the assumption that it is the application’s wish to prohibit any cyclical lock acquisitions.