What is your persistence.xml?

I would guess that you don't have a non-jta-datasource configured properly. At least derby doesn't seem to work without this. I haven't tried with other databases.

thanks
david jencks

On Aug 29, 2007, at 9:43 AM, Java_James wrote:


I was wondering if anyone could help me with a problem I am having after
migrating to geronimo 2.0.1 (from m6).

I have a basic web app that uses openejb/openjpa for persistence. It is
also using JTA.

When using M6, I would call entityManager.persist(entityobj);

The value would be stored in the database just fine (Flush Type was set to
AUTO).

However, once I moved to 2.0.1, the value would not be stored. I added
entityManager.flush() to force the commit, and now I get the following
exception:

11:02:48,362 ERROR [OpenEJB] The bean instances business method encountered a system exception: null <1.0.0-r561970-r561970 fatal general error> org.apache.openjpa.persistence.PersistenceException: null
at
org.apache.openjpa.jdbc.kernel.AbstractJDBCSeq.getConnection (AbstractJDBCSeq.java:162)
at
org.apache.openjpa.jdbc.kernel.NativeJDBCSeq.nextInternal (NativeJDBCSeq.java:209)
at
org.apache.openjpa.jdbc.kernel.AbstractJDBCSeq.next (AbstractJDBCSeq.java:60) at org.apache.openjpa.util.ImplHelper.generateValue(ImplHelper.java: 159)
at
org.apache.openjpa.util.ImplHelper.generateFieldValue (ImplHelper.java:143)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.assignField (JDBCStoreManager.java:557) at org.apache.openjpa.util.ApplicationIds.assign (ApplicationIds.java:438) at org.apache.openjpa.util.ApplicationIds.assign (ApplicationIds.java:423)
at
org.apache.openjpa.jdbc.kernel.JDBCStoreManager.assignObjectId (JDBCStoreManager.java:541)
at
org.apache.openjpa.kernel.DelegatingStoreManager.assignObjectId (DelegatingStoreManager.java:134)
at
org.apache.openjpa.kernel.StateManagerImpl.assignObjectId (StateManagerImpl.java:501)
at
org.apache.openjpa.kernel.StateManagerImpl.preFlush (StateManagerImpl.java:2763)
at org.apache.openjpa.kernel.PNewState.beforeFlush(PNewState.java:39)
at
org.apache.openjpa.kernel.StateManagerImpl.beforeFlush (StateManagerImpl.java:933)
at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:1919)
at org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java: 1879)
at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:1650)
at
org.apache.openjpa.kernel.DelegatingBroker.flush (DelegatingBroker.java:978)
at
org.apache.openjpa.persistence.EntityManagerImpl.flush (EntityManagerImpl.java:489)
at
org.apache.geronimo.persistence.CMPEntityManagerTxScoped.flush (CMPEntityManagerTxScoped.java:153)


I after tracing through the code, I found that the exception is coming from
the following code in OpenJPAs AbstractJDBCSeq.java:

            try {
                TransactionManager tm = getConfiguration()
.getManagedRuntimeInstance ().getTransactionManager();
                _outerTransaction = tm.suspend();
                tm.begin();
                return store.getConnection();
            } catch (Exception e) {
                throw new StoreException(e);
            }

Upon further investigatoin, I found that the TransactionManager seems to be an instance of RegistryManagedRuntime.java, which throws an exception when
suspend is called.

This is where I am stuck, and not sure how to continue. Has anyone else had
a similar problem, or would anyone know what the problem might be?

Thanks in advance for your help.
--
View this message in context: http://www.nabble.com/JPA-issue-when- migrating-to-geronimo-2.0.1-tf4348941s134.html#a12390954 Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.


Reply via email to