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.