Are you sure the first commit completed successfully?
could you modify you codes to:
...
ut.commit();
} catch (Exception e) {
ut.rollback();
e.printStackTrace();
} finally {
conn.close();
}
to see what happened?
2009/12/29 xuhongbo <[email protected]>
> Hi:
> When I using bean managed transaction with oracle-xa , I found that
> it cannot execute more than once; the first time, things is right and
> database is update; but if execute once again a oracle- xa-warning and a
> Geronimo exception occurs; the warning and exception is list at the end of
> this mail;
>
> The Geronimo Version I used is 2.1.4; and oracle version is 9i;
>
> I have use another app-server GlassFish test the same program, and
> it works well; My test program is list in the attachments:
> MyStatelessSessionBean.java is the ejb, and MyServlet is a servlet call the
> ejb;
>
> The oracle xa datasource 's plan is also list in attachments; I am
> not sure about if I miss configured the datasource some-where; but The
> datasource does works: I can test it and execute a query through the
> Geronimo's console;
>
> Although the oracle 's version is older, but I doesn't thinks the
> database is not compatible with Geronimo's XA process; To ensure this, I
> write a simple test case which use the Geronimo's Transaction Manager and
> Oralce's XA API directly; the simple test case works well; The simple test
> case is also list in the list;
> In the simple test case I doesn't use the UserTransaction but
> direct use the Geronimo's TransactionManager, because when debugging the
> my-application, I found the UserTransaction is provided by OpenEJB, and it
> just wrap the Geronimo's Transaction Manager;
>
> Finally , I guess if the tranql provided XADatasource is not
> compatible with my application. So I try the following calling sequence,
> but
> they both occurs same problem;
> 1:open-connection-->begin-trans-->do-update--> end-trans->close-conn
> 2:begin-trans-->open-connection-->do-update-->end-trans->close-conn;
> 3:begin-trans->open-connection-->do-update-->close-conn->end-trans;
>
> Now I have no idea about this problem, so I hope if anyone can
> help-me to check this problem
> Thanks for any-suggestion;
> ===========================================================================
> Orcla XA Warning is:
> 009-12-25 19:39:00,500 WARN [Transaction] Unable to enlist XAResource
> org.apache.geronimo.transaction.manager.wrappernamedxaresou...@1e7dc51,
> errorCode: -3
> oracle.jdbc.xa.OracleXAException
> at
> oracle.jdbc.xa.OracleXAResource.checkError(OracleXAResource.java:1157)
> at
> oracle.jdbc.xa.client.OracleXAResource.start(OracleXAResource.java:295)
> at
>
> org.apache.geronimo.transaction.manager.WrapperNamedXAResource.start(Wrapper
> NamedXAResource.java:86)
> at
>
> org.apache.geronimo.transaction.manager.TransactionImpl.enlistResource(Trans
> actionImpl.java:209)
> at
>
> org.apache.geronimo.connector.outbound.TransactionEnlistingInterceptor.getCo
> nnection(TransactionEnlistingInterceptor.java:54)
> at
>
> org.apache.geronimo.connector.outbound.TransactionCachingInterceptor.getConn
> ection(TransactionCachingInterceptor.java:87)
> at
>
> org.apache.geronimo.connector.outbound.ConnectionHandleInterceptor.getConnec
> tion(ConnectionHandleInterceptor.java:43)
> .......
> at java.lang.Thread.run(Unknown Source)
>
> Geronimo Exception is:
> javax.transaction.RollbackException: Unable to commit: transaction marked
> for rollback
> at
>
> org.apache.geronimo.transaction.manager.TransactionImpl.rollbackResourcesDur
> ingCommit(TransactionImpl.java:671)
> at
>
> org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionIm
> pl.java:270)
> at
>
> org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(Transa
> ctionManagerImpl.java:250)
> at
>
> org.apache.openejb.core.CoreUserTransaction.commit(CoreUserTransaction.java:
> 62)
> at
>
> org.apache.openejb.core.BaseContext$UserTransactionWrapper.commit(BaseContex
> t.java:194)
> at
> sampleear.MyStatelessSessionBean.sayHello(MyStatelessSessionBean.java:40)
> ......
> at java.lang.Thread.run(Unknown Source)
>
>
>
>
>