----- Original Message -----
From: "Chuck Hill" <email@hidden>
To: "Cheong Hee (Gmail)" <email@hidden>
Cc: <email@hidden>
Sent: Tuesday, July 21, 2009 10:04 PM
Subject: Re: Inaccurate active session count in JavaMonitor (Solved)
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.