Hello,
From memory you can't guarantee which
thread will be notified so you have to call notifyAll() when you release a lock. This means you could build into your code something like:
The following is on a normal record lock:
wait.locks();
if (TRYING_ENTIRE_DB_LOCK) {
wait.locks();//wait again
} else {
//get lock
}
Ian