Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » EclipseLink » Pessimistice locking hint - hanging locks
Pessimistice locking hint - hanging locks [message #479759] Wed, 12 August 2009 08:25 Go to next message
Tom Eugelink is currently offline Tom Eugelink
Messages: 801
Registered: July 2009
Senior Member
It is possible to place locks during querying using the Eclipselink JPA enhancement "pessimistic lock hint".
http://blogs.sun.com/enterprisetechtips/entry/preventing_non _repeatable_reads_in

When you do this without having started the EM's transaction, Eclipselink starts a JDBC transaction to the database and does a select-for-update instead of a regular select.
The JDBC transaction is required, because that determines how long locks are held; upon commit or rollback and "for update" locks are released.

However, the EM's transaction is not started (getTransaction().isActive() returns false), so if you do not start the EM's transaction, the locks are never released.

Is there any way to release these for-update locks without starting the EM's transaction?
Re: Pessimistice locking hint - hanging locks [message #480834 is a reply to message #479759] Tue, 18 August 2009 11:29 Go to previous message
James Sutherland is currently offline James Sutherland
Messages: 1834
Registered: July 2009
Senior Member
You should never acquire a pessimistic lock outside of a transaction.
Always first call beginTransaction. You can log a bug that an exception
should be throw if pessimistic locking is attempted outside of a
transaction.

----
James


James : Wiki : Book : Blog
Previous Topic:loader constraint violation
Next Topic:Cache Refresh Problem
Goto Forum:
  


Current Time: Tue May 21 13:39:10 EDT 2013

Powered by FUDForum. Page generated in 0.01564 seconds