On Jul 21, 2009, at 2:44 AM, Cheong Hee (Gmail) wrote:
Yeap, exception found.
lockManager.unlock() throws IllegalStateException when lock count is
zero.
Which says to me that it was not locked to begin with. Try
if (lockManager.isLocked()) {
lockManager.unlock();
}
When the lock count is > 1, MultiEC lock manager is happier to
unlock all ECs, but not when lock count=0. Try to relate why the
lock count=0 is handled by exception. Is it acting like an
insurance to alert the users that probably error occur when multi-
ECs has registered (and assumed locked), but when no lock is found
when called unlock(). Should it or not throwing exception when lock
count = 0?
The throw is correct. It ensures that your code has balanced calls to
lock and unlock.
Great thanks, Chuck and it clears doubt on my bad coding.