Hi Leon,

> java.sql.SQLException: Cannot call Connection.commit in distributed
> transaction.  Transaction Manager will commit the resource manager
when the
> distributed transaction is committed.
>  at weblogic.jdbc.jts.Connection.commit(Connection.java:302)
>  at

- it seems you are running OJB in a managed environment
with an extern TransactionManager, thus it's not allowed to
use the OJB-tx demarcation (pb.beginTransaction, ...).
This is done by the TxManager (or when using JTA-UserTransaction).
I don't know exactly what's your environment, maybe you should
use
ConnectionFactoryClass=
org.apache.ojb.broker.accesslayer.ConnectionFactoryManagedImpl

- when using DataSource it's recommended to use
autoCommit=0, because most implementations don't
let you change the autoCommit mode of the connection
(but isn't the problem in your case)

- Using SequenceManagerHighLowImpl is not recommended
in managed environment, have a look at
http://db.apache.org/ojb/sequencemanager.html
for alternatives.

HTH
regards,
Armin

----- Original Message -----
From: "Leon" <[EMAIL PROTECTED]>
To: "OJB Users List" <[EMAIL PROTECTED]>
Sent: Saturday, May 31, 2003 6:47 AM
Subject: transaction exception with OJB


> Hi,
>
> I has code
> tx.begin();
> broker.store(registryvo);
> tx.commit();
> in my DAO class. When running broker.store(registryvo), I get
following
> exception. My VO object has 15 fields and only 10 fields are mapped to
db
> table in repository_user.xml. Is it ok to do that? In addition, I am
using
> datasource setting and set useAutoCommit="2" in the
> jdbc-connection-descriptor.
> Could anybody give me some suggestion?
> Thanks.
>
> Leon
>
>
>
> ***********************
> [org.apache.ojb.broker.accesslayer.ConnectionManagerImpl] ERROR:
Commit on
> underlying connection failed, try to rollback
> Cannot call Connection.commit in distributed transaction.  Transaction
> Manager will commit the resource manager when the distributed
transaction is
> committed.
> java.sql.SQLException: Cannot call Connection.commit in distributed
> transaction.  Transaction Manager will commit the resource manager
when the
> distributed transaction is committed.
>  at weblogic.jdbc.jts.Connection.commit(Connection.java:302)
>  at
>
weblogic.jdbc.rmi.internal.ConnectionImpl.commit(ConnectionImpl.java:181
)
>  at
weblogic.jdbc.rmi.SerialConnection.commit(SerialConnection.java:179)
>  at
>
org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.localCommit(Conn
ecti
> onManagerImpl.java:204)
>  at
>
org.apache.ojb.broker.core.PersistenceBrokerImpl.commitTransaction(Persi
sten
> ceBrokerImpl.java:385)
>  at
>
org.apache.ojb.broker.core.DelegatingPersistenceBroker.commitTransaction
(Del
> egatingPersistenceBroker.java:120)
>  at
>
org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl.getSequen
ce(S
> equenceManagerHighLowImpl.java:313)
>  at
>
org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl.getUnique
Long
> (SequenceManagerHighLowImpl.java:201)
>  at
>
org.apache.ojb.broker.util.sequence.AbstractSequenceManager.getUniqueVal
ue(A
> bstractSequenceManager.java:132)
>  at
>
org.apache.ojb.broker.util.BrokerHelper.getAutoIncrementValue(BrokerHelp
er.j
> ava:303)
>  at
>
org.apache.ojb.broker.util.BrokerHelper.getValuesForObject(BrokerHelper.
java
> :349)
>  at
>
org.apache.ojb.broker.util.BrokerHelper.getKeyValues(BrokerHelper.java:2
15)
>  at org.apache.ojb.broker.Identity.init(Identity.java:198)
>  at org.apache.ojb.broker.Identity.<init>(Identity.java:163)
>  at
>
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBroker
Impl
> .java:640)
>  at
>
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingP
ersi
> stenceBroker.java:155)
>  at
com.xegle.systems.registry.dao.RegistryDAO.insert(RegistryDAO.java:62)
>  at
>
com.xegle.systems.registry.RegistryManagerBD.addRegistryInfo(RegistryMan
ager
> BD.java:29)
>  at
>
com.xegle.systems.struts.registry.RegistryAction.execute(RegistryAction.
java
> :48)
>  at
>
org.apache.struts.action.RequestProcessor.processActionPerform(RequestPr
oces
> sor.java:480)
>  at
>
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:
274)
>  at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1420)
>  at
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:520)
>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>  at
>
weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(Se
rvle
> tStubImpl.java:1058)
>  at
>
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.
java
> :401)
>  at
>
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.
java
> :306)
>  at
>
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.r
un(W
> ebAppServletContext.java:5445)
>  at
>
weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceMa
nage
> r.java:780)
>  at
>
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServl
etCo
> ntext.java:3105)
>  at
>
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.
java
> :2588)
>  at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
>  at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
> [org.apache.ojb.broker.accesslayer.ConnectionManagerImpl] INFO:
Rollback was
> called, do rollback on current connection
> [EMAIL PROTECTED]
> [org.apache.ojb.broker.accesslayer.ConnectionManagerImpl] ERROR:
Rollback on
> the underlying connection failed
> Cannot call Connection.rollback in distributed transaction.
Transaction
> Manager will commit the resource manager when the distributed
transaction is
> committed.
> java.sql.SQLException: Cannot call Connection.rollback in distributed
> transaction.  Transaction Manager will commit the resource manager
when the
> distributed transaction is committed.
>  at weblogic.jdbc.jts.Connection.rollback(Connection.java:309)
>  at
>
weblogic.jdbc.rmi.internal.ConnectionImpl.rollback(ConnectionImpl.java:1
89)
>  at
weblogic.jdbc.rmi.SerialConnection.rollback(SerialConnection.java:194)
>  at
>
org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.localRollback(Co
nnec
> tionManagerImpl.java:245)
>  at
>
org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.localCommit(Conn
ecti
> onManagerImpl.java:210)
>  at
>
org.apache.ojb.broker.core.PersistenceBrokerImpl.commitTransaction(Persi
sten
> ceBrokerImpl.java:385)
>  at
>
org.apache.ojb.broker.core.DelegatingPersistenceBroker.commitTransaction
(Del
> egatingPersistenceBroker.java:120)
>  at
>
org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl.getSequen
ce(S
> equenceManagerHighLowImpl.java:313)
>  at
>
org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl.getUnique
Long
> (SequenceManagerHighLowImpl.java:201)
>  at
>
org.apache.ojb.broker.util.sequence.AbstractSequenceManager.getUniqueVal
ue(A
> bstractSequenceManager.java:132)
>  at
>
org.apache.ojb.broker.util.BrokerHelper.getAutoIncrementValue(BrokerHelp
er.j
> ava:303)
>  at
>
org.apache.ojb.broker.util.BrokerHelper.getValuesForObject(BrokerHelper.
java
> :349)
>  at
>
org.apache.ojb.broker.util.BrokerHelper.getKeyValues(BrokerHelper.java:2
15)
>  at org.apache.ojb.broker.Identity.init(Identity.java:198)
>  at org.apache.ojb.broker.Identity.<init>(Identity.java:163)
>  at
>
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBroker
Impl
> .java:640)
>  at
>
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingP
ersi
> stenceBroker.java:155)
>  at
com.xegle.systems.registry.dao.RegistryDAO.insert(RegistryDAO.java:62)
>  at
>
com.xegle.systems.registry.RegistryManagerBD.addRegistryInfo(RegistryMan
ager
> BD.java:29)
>  at
>
com.xegle.systems.struts.registry.RegistryAction.execute(RegistryAction.
java
> :48)
>  at
>
org.apache.struts.action.RequestProcessor.processActionPerform(RequestPr
oces
> sor.java:480)
>  at
>
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:
274)
>  at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1420)
>  at
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:520)
>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>  at
>
weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(Se
rvle
> tStubImpl.java:1058)
>  at
>
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.
java
> :401)
>  at
>
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.
java
> :306)
>  at
>
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.r
un(W
> ebAppServletContext.java:5445)
>  at
>
weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceMa
nage
> r.java:780)
>  at
>
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServl
etCo
> ntext.java:3105)
>  at
>
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.
java
> :2588)
>  at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
>  at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
> org.apache.ojb.broker.TransactionAbortedException
>  at
>
org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.localCommit(Conn
ecti
> onManagerImpl.java:211)
>  at
>
org.apache.ojb.broker.core.PersistenceBrokerImpl.commitTransaction(Persi
sten
> ceBrokerImpl.java:385)
>  at
>
org.apache.ojb.broker.core.DelegatingPersistenceBroker.commitTransaction
(Del
> egatingPersistenceBroker.java:120)
>  at
>
org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl.getSequen
ce(S
> equenceManagerHighLowImpl.java:313)
>  at
>
org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl.getUnique
Long
> (SequenceManagerHighLowImpl.java:201)
>  at
>
org.apache.ojb.broker.util.sequence.AbstractSequenceManager.getUniqueVal
ue(A
> bstractSequenceManager.java:132)
>  at
>
org.apache.ojb.broker.util.BrokerHelper.getAutoIncrementValue(BrokerHelp
er.j
> ava:303)
>  at
>
org.apache.ojb.broker.util.BrokerHelper.getValuesForObject(BrokerHelper.
java
> :349)
>  at
>
org.apache.ojb.broker.util.BrokerHelper.getKeyValues(BrokerHelper.java:2
15)
>  at org.apache.ojb.broker.Identity.init(Identity.java:198)
>  at org.apache.ojb.broker.Identity.<init>(Identity.java:163)
>  at
>
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBroker
Impl
> .java:640)
>  at
>
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingP
ersi
> stenceBroker.java:155)
>  at
com.xegle.systems.registry.dao.RegistryDAO.insert(RegistryDAO.java:62)
>  at
>
com.xegle.systems.registry.RegistryManagerBD.addRegistryInfo(RegistryMan
ager
> BD.java:29)
>  at
>
com.xegle.systems.struts.registry.RegistryAction.execute(RegistryAction.
java
> :48)
>  at
>
org.apache.struts.action.RequestProcessor.processActionPerform(RequestPr
oces
> sor.java:480)
>  at
>
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:
274)
>  at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1420)
>  at
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:520)
>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>  at
>
weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(Se
rvle
> tStubImpl.java:1058)
>  at
>
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.
java
> :401)
>  at
>
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.
java
> :306)
>  at
>
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.r
un(W
> ebAppServletContext.java:5445)
>  at
>
weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceMa
nage
> r.java:780)
>  at
>
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServl
etCo
> ntext.java:3105)
>  at
> weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImp
l.java
> :2588)
>  at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
>  at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
> rethrown as
> org.apache.ojb.broker.metadata.ClassNotPersistenceCapableException:
Could
> not init Identity for given object class
> com.xegle.systems.registry.RegistryVOBean
>  at org.apache.ojb.broker.Identity.init(Identity.java:205)
>  at org.apache.ojb.broker.Identity.<init>(Identity.java:163)
>  at
>
org.apache.ojb.broker.core.PersistenceBrokerImpl.store(PersistenceBroker
Impl
> .java:640)
>  at
>
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingP
ersi
> stenceBroker.java:155)
>  at
com.xegle.systems.registry.dao.RegistryDAO.insert(RegistryDAO.java:62)
>  at
>
com.xegle.systems.registry.RegistryManagerBD.addRegistryInfo(RegistryMan
ager
> BD.java:29)
>  at
>
com.xegle.systems.struts.registry.RegistryAction.execute(RegistryAction.
java
> :48)
>  at
>
org.apache.struts.action.RequestProcessor.processActionPerform(RequestPr
oces
> sor.java:480)
>  at
>
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:
274)
>  at
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1420)
>  at
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:520)
>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
>  at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>  at
>
weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(Se
rvle
> tStubImpl.java:1058)
>  at
>
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.
java
> :401)
>  at
>
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.
java
> :306)
>  at
>
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.r
un(W
> ebAppServletContext.java:5445)
>  at
>
weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceMa
nage
> r.java:780)
>  at
>
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServl
etCo
> ntext.java:3105)
>  at
>
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.
java
> :2588)
>  at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:213)
>  at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:189)
> Caused by: org.apache.ojb.broker.TransactionAbortedException
>  at
>
org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.localCommit(Conn
ecti
> onManagerImpl.java:211)
>  at
>
org.apache.ojb.broker.core.PersistenceBrokerImpl.commitTransaction(Persi
sten
> ceBrokerImpl.java:385)
>  at
>
org.apache.ojb.broker.core.DelegatingPersistenceBroker.commitTransaction
(Del
> egatingPersistenceBroker.java:120)
>  at
>
org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl.getSequen
ce(S
> equenceManagerHighLowImpl.java:313)
>  at
>
org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl.getUnique
Long
> (SequenceManagerHighLowImpl.java:201)
>  at
>
org.apache.ojb.broker.util.sequence.AbstractSequenceManager.getUniqueVal
ue(A
> bstractSequenceManager.java:132)
>  at
>
org.apache.ojb.broker.util.BrokerHelper.getAutoIncrementValue(BrokerHelp
er.j
> ava:303)
>  at
>
org.apache.ojb.broker.util.BrokerHelper.getValuesForObject(BrokerHelper.
java
> :349)
>  at
>
org.apache.ojb.broker.util.BrokerHelper.getKeyValues(BrokerHelper.java:2
15)
>  at org.apache.ojb.broker.Identity.init(Identity.java:198)
>  ... 21 more
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to