You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openjpa.apache.org by Kevin Sutter <kw...@gmail.com> on 2006/09/21 17:39:19 UTC

SingleJVMExclusiveLockManager?

Hi,
Attempting to verify some of the locking mechanisms within OpenJPA and I
don't see the SingleJVMExclusiveLockManager class available in our source
tree...  Oversight or not going to happen?  Regardless, can you give me a
scenario where this would have been useful?  I guess if you're assuming that
the only access would be via this single JVM, then you could safely lock
in-memory without accessing the database.  But, is that a very likely
scenario?

The doc indicates that this is still a valid option for the
openjpa.LockManager setting:

sjvm: An alias for the
org.apache.openjpa.kernel.SingleJVMExclusiveLockManager
<../apidocs/org/apache/openjpa/kernel/SingleJVMExclusiveLockManager.html>.
This lock manager uses in-memory mutexes to obtain exclusive locks on object
ids. It does not perform any database-level locking. Also, it does not
distinguish between read and write locks; all locks are write locks.
Thanks,
Kevin

Re: SingleJVMExclusiveLockManager?

Posted by Marc Prud'hommeaux <mp...@apache.org>.
Kevin-

On Sep 21, 2006, at 8:39 AM, Kevin Sutter wrote:

> Hi,
> Attempting to verify some of the locking mechanisms within OpenJPA  
> and I
> don't see the SingleJVMExclusiveLockManager class available in our  
> source
> tree...  Oversight or not going to happen?  Regardless, can you  
> give me a
> scenario where this would have been useful?  I guess if you're  
> assuming that
> the only access would be via this single JVM, then you could safely  
> lock
> in-memory without accessing the database.  But, is that a very likely
> scenario?

It is probably going to remain held-back. Regardless, you are correct  
about the usage scenario: it is basically an in-memory lock manager  
that assumes single-JVM access to the database (e.g., for a pure-java  
file-based database like Derby).


>
> The doc indicates that this is still a valid option for the
> openjpa.LockManager setting:
>
> sjvm: An alias for the
> org.apache.openjpa.kernel.SingleJVMExclusiveLockManager
> <../apidocs/org/apache/openjpa/kernel/ 
> SingleJVMExclusiveLockManager.html>.
> This lock manager uses in-memory mutexes to obtain exclusive locks  
> on object
> ids. It does not perform any database-level locking. Also, it does not
> distinguish between read and write locks; all locks are write locks.
> Thanks,
> Kevin