public final class VerifyingLockFactory extends LockFactory
LockFactorythat wraps another
LockFactoryand verifies that each lock obtain/release is "correct" (never results in two processes holding the lock at the same time). It does this by contacting an external server (
LockVerifyServer) to assert that at most one process holds the lock at a time. To use this, you should also run
LockVerifyServeron the host and port matching what you pass to the constructor.
|Modifier and Type||Field and Description|
|Constructor and Description|
|Modifier and Type||Method and Description|
Return a new obtained Lock instance identified by lockName.
public static final int MSG_LOCK_RELEASED
public static final int MSG_LOCK_ACQUIRED
public VerifyingLockFactory(LockFactory lf, InputStream in, OutputStream out) throws IOException
lf- the LockFactory that we are testing
in- the socket's input to
out- the socket's output to
public Lock obtainLock(Directory dir, String lockName) throws IOException
lockName- name of the lock to be created.
LockObtainFailedException- (optional specific exception) if the lock could not be obtained because it is currently held elsewhere.
IOException- if any i/o error occurs attempting to gain the lock
Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.