Class Overview
A 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.
Summary
Public Methods |
synchronized
void
|
clearLock(String lockName)
Attempt to clear (forcefully unlock and remove) the
specified lock.
|
synchronized
Lock
|
makeLock(String lockName)
Return a new Lock instance identified by lockName.
|
Public Constructors
public
VerifyingLockFactory
(byte id, LockFactory lf, String host, int port)
Parameters
id
| should be a unique id across all clients |
lf
| the LockFactory that we are testing |
host
| host or IP where LockVerifyServer
is running |
port
| the port LockVerifyServer is
listening on
|
Public Methods
public
synchronized
void
clearLock
(String lockName)
Attempt to clear (forcefully unlock and remove) the
specified lock. Only call this at a time when you are
certain this lock is no longer in use.
Parameters
lockName
| name of the lock to be cleared.
|
public
synchronized
Lock
makeLock
(String lockName)
Return a new Lock instance identified by lockName.
Parameters
lockName
| name of the lock to be created.
|