You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ojb-user@db.apache.org by Leon <le...@hotmail.com> on 2003/05/31 06:47:11 UTC

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(Connecti
onManagerImpl.java:204)
 at
org.apache.ojb.broker.core.PersistenceBrokerImpl.commitTransaction(Persisten
ceBrokerImpl.java:385)
 at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.commitTransaction(Del
egatingPersistenceBroker.java:120)
 at
org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl.getSequence(S
equenceManagerHighLowImpl.java:313)
 at
org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl.getUniqueLong
(SequenceManagerHighLowImpl.java:201)
 at
org.apache.ojb.broker.util.sequence.AbstractSequenceManager.getUniqueValue(A
bstractSequenceManager.java:132)
 at
org.apache.ojb.broker.util.BrokerHelper.getAutoIncrementValue(BrokerHelper.j
ava:303)
 at
org.apache.ojb.broker.util.BrokerHelper.getValuesForObject(BrokerHelper.java
:349)
 at
org.apache.ojb.broker.util.BrokerHelper.getKeyValues(BrokerHelper.java:215)
 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(PersistenceBrokerImpl
.java:640)
 at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingPersi
stenceBroker.java:155)
 at com.xegle.systems.registry.dao.RegistryDAO.insert(RegistryDAO.java:62)
 at
com.xegle.systems.registry.RegistryManagerBD.addRegistryInfo(RegistryManager
BD.java:29)
 at
com.xegle.systems.struts.registry.RegistryAction.execute(RegistryAction.java
:48)
 at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProces
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(Servle
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.run(W
ebAppServletContext.java:5445)
 at
weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManage
r.java:780)
 at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo
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
weblogic.jdbc.rmi.SerialConnection@fde4e6
[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:189)
 at weblogic.jdbc.rmi.SerialConnection.rollback(SerialConnection.java:194)
 at
org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.localRollback(Connec
tionManagerImpl.java:245)
 at
org.apache.ojb.broker.accesslayer.ConnectionManagerImpl.localCommit(Connecti
onManagerImpl.java:210)
 at
org.apache.ojb.broker.core.PersistenceBrokerImpl.commitTransaction(Persisten
ceBrokerImpl.java:385)
 at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.commitTransaction(Del
egatingPersistenceBroker.java:120)
 at
org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl.getSequence(S
equenceManagerHighLowImpl.java:313)
 at
org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl.getUniqueLong
(SequenceManagerHighLowImpl.java:201)
 at
org.apache.ojb.broker.util.sequence.AbstractSequenceManager.getUniqueValue(A
bstractSequenceManager.java:132)
 at
org.apache.ojb.broker.util.BrokerHelper.getAutoIncrementValue(BrokerHelper.j
ava:303)
 at
org.apache.ojb.broker.util.BrokerHelper.getValuesForObject(BrokerHelper.java
:349)
 at
org.apache.ojb.broker.util.BrokerHelper.getKeyValues(BrokerHelper.java:215)
 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(PersistenceBrokerImpl
.java:640)
 at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingPersi
stenceBroker.java:155)
 at com.xegle.systems.registry.dao.RegistryDAO.insert(RegistryDAO.java:62)
 at
com.xegle.systems.registry.RegistryManagerBD.addRegistryInfo(RegistryManager
BD.java:29)
 at
com.xegle.systems.struts.registry.RegistryAction.execute(RegistryAction.java
:48)
 at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProces
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(Servle
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.run(W
ebAppServletContext.java:5445)
 at
weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManage
r.java:780)
 at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo
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(Connecti
onManagerImpl.java:211)
 at
org.apache.ojb.broker.core.PersistenceBrokerImpl.commitTransaction(Persisten
ceBrokerImpl.java:385)
 at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.commitTransaction(Del
egatingPersistenceBroker.java:120)
 at
org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl.getSequence(S
equenceManagerHighLowImpl.java:313)
 at
org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl.getUniqueLong
(SequenceManagerHighLowImpl.java:201)
 at
org.apache.ojb.broker.util.sequence.AbstractSequenceManager.getUniqueValue(A
bstractSequenceManager.java:132)
 at
org.apache.ojb.broker.util.BrokerHelper.getAutoIncrementValue(BrokerHelper.j
ava:303)
 at
org.apache.ojb.broker.util.BrokerHelper.getValuesForObject(BrokerHelper.java
:349)
 at
org.apache.ojb.broker.util.BrokerHelper.getKeyValues(BrokerHelper.java:215)
 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(PersistenceBrokerImpl
.java:640)
 at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingPersi
stenceBroker.java:155)
 at com.xegle.systems.registry.dao.RegistryDAO.insert(RegistryDAO.java:62)
 at
com.xegle.systems.registry.RegistryManagerBD.addRegistryInfo(RegistryManager
BD.java:29)
 at
com.xegle.systems.struts.registry.RegistryAction.execute(RegistryAction.java
:48)
 at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProces
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(Servle
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.run(W
ebAppServletContext.java:5445)
 at
weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManage
r.java:780)
 at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo
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)
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(PersistenceBrokerImpl
.java:640)
 at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.store(DelegatingPersi
stenceBroker.java:155)
 at com.xegle.systems.registry.dao.RegistryDAO.insert(RegistryDAO.java:62)
 at
com.xegle.systems.registry.RegistryManagerBD.addRegistryInfo(RegistryManager
BD.java:29)
 at
com.xegle.systems.struts.registry.RegistryAction.execute(RegistryAction.java
:48)
 at
org.apache.struts.action.RequestProcessor.processActionPerform(RequestProces
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(Servle
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.run(W
ebAppServletContext.java:5445)
 at
weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManage
r.java:780)
 at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo
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(Connecti
onManagerImpl.java:211)
 at
org.apache.ojb.broker.core.PersistenceBrokerImpl.commitTransaction(Persisten
ceBrokerImpl.java:385)
 at
org.apache.ojb.broker.core.DelegatingPersistenceBroker.commitTransaction(Del
egatingPersistenceBroker.java:120)
 at
org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl.getSequence(S
equenceManagerHighLowImpl.java:313)
 at
org.apache.ojb.broker.util.sequence.SequenceManagerHighLowImpl.getUniqueLong
(SequenceManagerHighLowImpl.java:201)
 at
org.apache.ojb.broker.util.sequence.AbstractSequenceManager.getUniqueValue(A
bstractSequenceManager.java:132)
 at
org.apache.ojb.broker.util.BrokerHelper.getAutoIncrementValue(BrokerHelper.j
ava:303)
 at
org.apache.ojb.broker.util.BrokerHelper.getValuesForObject(BrokerHelper.java
:349)
 at
org.apache.ojb.broker.util.BrokerHelper.getKeyValues(BrokerHelper.java:215)
 at org.apache.ojb.broker.Identity.init(Identity.java:198)
 ... 21 more

Re: transaction exception with OJB

Posted by Armin Waibel <ar...@code-au-lait.de>.
Hi Leon,

----- Original Message -----
From: "Leon" <le...@hotmail.com>
To: "OJB Users List" <oj...@db.apache.org>; "Armin Waibel"
<ar...@code-au-lait.de>
Sent: Sunday, June 01, 2003 9:31 PM
Subject: Re: transaction exception with OJB


> Hi Armin,
>
> You are right. I should swich ConnectionFactoryClass to external
resource
> settings when I used jndi-datasource-name.
> On the Sequence Manager, it seems I have multiple choice. I am using
MySQL
> database now and if I use database sequences based implementation,
should I
> set a field that needs sequence manager to auto-increment in the
database?

As far as I know mySQL only supports Identity columns and
not a database based sequence generation using 'nextval' command.
Thus your choice is limited.
If you run OJB only in a single node (not clustered) and
other applications do not insert objects, you could use
SequenceManagerInMemoryImpl.
Also there is an SM implementation by Ryan Vanderwerf et al.
simulating database based sequences using stored procedure
(you only have to adapt the SP to mySQL) - see doc.
Both implementations need a PK autoincrement field in
persistent object / field descriptor.
e.g.

<field-descriptor
         name="objId"
         column="OBJ_ID"
         jdbc-type="INTEGER"
         primarykey="true"
         autoincrement="true"
      />

HTH

regards,
Armin

> Thanks a lot.
>
> Regards.
>
> Leon
>
>
> ----- Original Message -----
> From: "Armin Waibel" <ar...@code-au-lait.de>
> To: "OJB Users List" <oj...@db.apache.org>
> Sent: Saturday, May 31, 2003 12:22 PM
> Subject: Re: transaction exception with OJB
>
>
> > 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" <le...@hotmail.com>
> > To: "OJB Users List" <oj...@db.apache.org>
> > 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
> > > weblogic.jdbc.rmi.SerialConnection@fde4e6
> > > [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: ojb-user-unsubscribe@db.apache.org
> > > For additional commands, e-mail: ojb-user-help@db.apache.org
> > >
> > >
> >
> >
> >
>
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> > For additional commands, e-mail: ojb-user-help@db.apache.org
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
>
>
>



Re: transaction exception with OJB

Posted by Leon <le...@hotmail.com>.
Hi Armin,

You are right. I should swich ConnectionFactoryClass to external resource
settings when I used jndi-datasource-name.
On the Sequence Manager, it seems I have multiple choice. I am using MySQL
database now and if I use database sequences based implementation, should I
set a field that needs sequence manager to auto-increment in the database?
Thanks a lot.

Regards.

Leon


----- Original Message -----
From: "Armin Waibel" <ar...@code-au-lait.de>
To: "OJB Users List" <oj...@db.apache.org>
Sent: Saturday, May 31, 2003 12:22 PM
Subject: Re: transaction exception with OJB


> 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" <le...@hotmail.com>
> To: "OJB Users List" <oj...@db.apache.org>
> 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
> > weblogic.jdbc.rmi.SerialConnection@fde4e6
> > [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: ojb-user-unsubscribe@db.apache.org
> > For additional commands, e-mail: ojb-user-help@db.apache.org
> >
> >
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
>
>

Re: transaction exception with OJB

Posted by Armin Waibel <ar...@code-au-lait.de>.
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" <le...@hotmail.com>
To: "OJB Users List" <oj...@db.apache.org>
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
> weblogic.jdbc.rmi.SerialConnection@fde4e6
> [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: ojb-user-unsubscribe@db.apache.org
> For additional commands, e-mail: ojb-user-help@db.apache.org
>
>