public 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 & port matching what you pass to the constructor.LockVerifyServer
,
LockStressTest
lockPrefix
Constructor and Description |
---|
VerifyingLockFactory(byte id,
LockFactory lf,
String host,
int port) |
Modifier and Type | Method and Description |
---|---|
void |
clearLock(String lockName)
Attempt to clear (forcefully unlock and remove) the
specified lock.
|
Lock |
makeLock(String lockName)
Return a new Lock instance identified by lockName.
|
getLockPrefix, setLockPrefix
public VerifyingLockFactory(byte id, LockFactory lf, String host, int port)
id
- should be a unique id across all clientslf
- the LockFactory that we are testinghost
- host or IP where LockVerifyServer
is runningport
- the port LockVerifyServer
is
listening onpublic Lock makeLock(String lockName)
LockFactory
makeLock
in class LockFactory
lockName
- name of the lock to be created.public void clearLock(String lockName) throws IOException
LockFactory
clearLock
in class LockFactory
lockName
- name of the lock to be cleared.IOException
Copyright © 2000-2012 Apache Software Foundation. All Rights Reserved.