commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "" <>
Subject Re: [transaction.locking] Modify the behaviour of the ReadWriteUpgradeLockManager
Date Fri, 01 Apr 2005 07:31:49 GMT

Selon Oliver Zeigermann <>:
> Hmmm, not quite sure that I get this all right, but to me it seems you
> describe the simple read/write locks (without the upgrade step). Is
> that possible? If so you could simply use the ReadWriteLockManager.

My lock manager has not exactly the same behaviour as the ReadWriteLockManager
and I think looks more like the ReadWriteUpgardeLockManager.

I will try to explain what I want to do ;o)

In my case :
* Read access requires a shared lock (S).
* Write access requires an exclusive lock (X).
* An upgrade lock (U) supports read with (potential) write access and prevents
further shared locks (S) for the same object. An upgrade lock (U) can be
converted to an exclusive lock (X) after the release of the existing shared
locks or back to a shared lock if no update action is needed (time out).

So, the difference is when I have an upgrade lock on a data, it is impossible to
obtain shared locks, but locks that are already granted keep going on. With the
exclusive lock no other locks can be obtained or exist on the same data.

I expect it's more clear?

Is it possible to transform the ReadWriteUpgradeLockManager to obtain this ?

Thanks for your help,


To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message