Hello We have encountered a problem that seems it is related to this type of openjpa settings. We have configured a distributed transaction in our application server and we are using openjpa 1.2.1 and Glassfish application server. Although the default behavior of transaction locking must be optimistic, it seems that pessimistic locking has been happened. It is found that Row Lock contention happens in a specific table. This is the exception : java.sql.SQLException: ORA-02049: timeout: distributed transaction waiting for lock Is there any property which has to be set related to the XA transactions management for openjpa? For your information, already all the following properties have been set.
1. <persistence-unit name="JPXA" transation-type="JTA"> 2. <property name="openjpa.TransactionMode" value="managed"/> You can try a plug-in string to lookup the TM in JNDI (the value is the JNDI name of GlassFish TM as per Google search) 3. <property name="openjpa.ManagedRuntime" value="jndi(TransactionManagerName=java:appserver/TransactionManager)"/> Following searching about this locking problem, we found that we should add two more properties for openjpa as listed below. <property name="openjpa.LockManager" value="version" /> <property name="openjpa.jdbc.TransactionIsolation" value="read-committed" /> but this time we have got another error: org.apache.openjpa.persistence.PersistenceException: ORA-02089: COMMIT is not allowed in a subordinate session. Thanks for any help. Regards, Sargol -- View this message in context: http://openjpa.208410.n2.nabble.com/EntityManager-dosn-t-release-connection-in-XA-transactions-tp4205041p6000447.html Sent from the OpenJPA Users mailing list archive at Nabble.com.