public final class VerifyingLockFactory extends LockFactory
LockFactory that wraps another LockFactory and 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 LockVerifyServer on the
host and port matching what you pass to the constructor.LockVerifyServer,
LockStressTest| Constructor and Description |
|---|
VerifyingLockFactory(LockFactory lf,
InputStream in,
OutputStream out) |
| Modifier and Type | Method and Description |
|---|---|
Lock |
obtainLock(Directory dir,
String lockName)
Return a new obtained Lock instance identified by lockName.
|
public VerifyingLockFactory(LockFactory lf, InputStream in, OutputStream out) throws IOException
lf - the LockFactory that we are testingin - the socket's input to LockVerifyServerout - the socket's output to LockVerifyServerIOExceptionpublic Lock obtainLock(Directory dir, String lockName) throws IOException
LockFactoryobtainLock in class LockFactorylockName - 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 lockCopyright © 2000-2016 Apache Software Foundation. All Rights Reserved.