Reply: Cannot using Geronimo to execute bean-managed transaction with oracle transaction more than once, but Glassfish does
Hi: Yet I haven't find the real reason , I have noticed another thing about the problem; The original test program will throw exception while transaction commit; but if I comment the statement connection.setAutoCommit(false); . the exception will throws while execute prepare statement; and exception changed as ORA-02089: COMMIT doesn't allowed in sub transaction which raised by oracle's driver; It seems the connection 's auto commit is default set to true; so I am wondering while secondly execute the trasaction , a no-transaction data source (not a transactional-datasource) is returned? -origin- Sender: xuhongbo [mailto:x...@tongtech.com] Date: 2009/12/29 12:53 Receiver: d...@geronimo.apache.org CC: user@geronimo.apache.org Subject: Cannot using Geronimo to execute bean-managed transaction with oracle transaction more than once, but Glassfish does 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)
Re: Reply: Cannot using Geronimo to execute bean-managed transaction with oracle transaction more than once, but Glassfish does
In the future it would be great if you could only post to one mailing list. I'm not sure what is wrong yet, however you should never try to set the autocommit state of a connection that is enlisted in a jta transaction. Enlisting and delisting the XAConnection will result in the autocommit being dealt with properly. The value from getAutoCommit may or may not be meaningful in a jta transaction. Outside a jta transaction the autocommit state defaults to true. I'm quite surprised you didn't get a more informative error. One important piece of information that I don't see is which tranql wrapper you used to deploy your datasource. thanks david jencks On Dec 29, 2009, at 3:48 AM, xuhongbo wrote: Hi: Yet I haven't find the real reason , I have noticed another thing about the problem; The original test program will throw exception while transaction commit; but if I comment the statement connection.setAutoCommit(false); . the exception will throws while execute prepare statement; and exception changed as ORA-02089: COMMIT doesn't allowed in sub transaction which raised by oracle's driver; It seems the connection 's auto commit is default set to true; so I am wondering while secondly execute the trasaction , a no- transaction data source (not a transactional-datasource) is returned? -origin- Sender: xuhongbo [mailto:x...@tongtech.com] Date: 2009/12/29 12:53 Receiver: d...@geronimo.apache.org CC: user@geronimo.apache.org Subject: Cannot using Geronimo to execute bean-managed transaction with oracle transaction more than once, but Glassfish does 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
[ANNOUNCE] Availability of Geronimo 2.2
The Apache Geronimo project is pleased to announce the available of Apache Geronimo v2.2 server. This includes improvements too numerous to mention here, a couple highlights are much easier custom server assembly, up to date activemq support, and JASPIC support. Visit the Downloads page for details on downloading Apache Geronimo v2.2 server assemblies and links to the release notes: http://geronimo.apache.org/downloads.html The individual jars and plugins have been available through maven for a few weeks now as I tried to figure out the last bits of the release process. It's quite possible I've messed up some bits of the non- maven process, so let us know if there are problems. A big THANK YOU to all that contributed to this release! Great work everyone! david jencks
Welcome Jack Jun Jie Cai as a new committer
I would like to welcome Jack aboard, as he recently accepted the Geronimo PMC invitation to become a committer. His account was just created this morning (caijunj), so you should start seeing some commits from him soon. -- Ivan
Re: [ANNOUNCE] Availability of Geronimo 2.2
Great, ^_^ 2009/12/30 David Jencks david_jen...@yahoo.com The Apache Geronimo project is pleased to announce the available of Apache Geronimo v2.2 server. This includes improvements too numerous to mention here, a couple highlights are much easier custom server assembly, up to date activemq support, and JASPIC support. Visit the Downloads page for details on downloading Apache Geronimo v2.2 server assemblies and links to the release notes: http://geronimo.apache.org/downloads.html http://geronimo.apache.org/downloads.htmlThe individual jars and plugins have been available through maven for a few weeks now as I tried to figure out the last bits of the release process. It's quite possible I've messed up some bits of the non-maven process, so let us know if there are problems. A big THANK YOU to all that contributed to this release! Great work everyone! david jencks -- Ivan
Re: [ANNOUNCE] Availability of Geronimo 2.2
Congratulations Geronimo team! Bill On 12/29/09 7:29 PM, David Jencks wrote: The Apache Geronimo project is pleased to announce the available of Apache Geronimo v2.2 server. This includes improvements too numerous to mention here, a couple highlights are much easier custom server assembly, up to date activemq support, and JASPIC support. Visit the Downloads page for details on downloading Apache Geronimo v2.2 server assemblies and links to the release notes: http://geronimo.apache.org/downloads.html The individual jars and plugins have been available through maven for a few weeks now as I tried to figure out the last bits of the release process. It's quite possible I've messed up some bits of the non-maven process, so let us know if there are problems. A big THANK YOU to all that contributed to this release! Great work everyone! david jencks
Reply: Cannot using Geronimo to execute bean-managed transaction with oracle transaction more than once, but Glassfish does
In the future it would be great if you could only post to one mailing list. Thanks, I know I'm not sure what is wrong yet, however you should never try to set the autocommit state of a connection that is enlisted in a jta transaction. Enlisting and delisting the XAConnection will result in the autocommit being dealt with properly. The value from getAutoCommit may or may not be meaningful in a jta transaction. Outside a jta transaction the autocommit state defaults to true. I'm quite surprised you didn't get a more informative error. Yes you are right, auto commit has no means for jta connection and cannot be set to true; here I just set auto commit to false, so a jta connection should just omit it; But the surprise thing is if I doesn't affect auto commit state(in the program, just comment the statement setAutocommit(false)), when execute database operation, a ORA-02089: COMMIT ... exception will be throwed by oracle's database driver; it looks like the Geronimo does a wrong things commit on the connection when execute database operation; and this should only occurs on non-jta connection, because only no-jta connection will set auto commit default to true. One important piece of information that I don't see is which tranql wrapper you used to deploy your datasource. The datasource is org.tranql.connector.jdbc.DataSource. And it use a a managed-connection factory org.tranql.connector.oracle.XAMCF to open connection; And the managed-connection factory use a oracle's xa datasource (oracle.jdbc.xa.client.OracleXADataSource); By the way , I haven't ever post a trivial problem I have meet when I deploy the Oracle-XA data source. The trivial thing is: I must change the deploy plan created by Geronimo's web manage console tools, delete the empty property TNSEntryName and manually deploy it; because this is the oracle9i database driver's question --- a empty string value(not a null value) set to TNSEntryName will cause oracle9i's database driver to omit the other property (etc serverName, serviceName ...) and cannot establish a connect ; I thinks this should have no means to the transaction commit failure; but maybe it would give some other useful things help to find out the reason. Thanks a lot xuhongbo -origin - sender: David Jencks [mailto:david_jen...@yahoo.com] date: 2009/12/30 1:43 receiver: user@geronimo.apache.org subject: Re: Reply: Cannot using Geronimo to execute bean-managed transaction with oracle transaction more than once, but Glassfish does In the future it would be great if you could only post to one mailing list. I'm not sure what is wrong yet, however you should never try to set the autocommit state of a connection that is enlisted in a jta transaction. Enlisting and delisting the XAConnection will result in the autocommit being dealt with properly. The value from getAutoCommit may or may not be meaningful in a jta transaction. Outside a jta transaction the autocommit state defaults to true. I'm quite surprised you didn't get a more informative error. One important piece of information that I don't see is which tranql wrapper you used to deploy your datasource. thanks david jencks On Dec 29, 2009, at 3:48 AM, xuhongbo wrote: Hi: Yet I haven't find the real reason , I have noticed another thing about the problem; The original test program will throw exception while transaction commit; but if I comment the statement connection.setAutoCommit(false); . the exception will throws while execute prepare statement; and exception changed as ORA-02089: COMMIT doesn't allowed in sub transaction which raised by oracle's driver; It seems the connection 's auto commit is default set to true; so I am wondering while secondly execute the trasaction , a no- transaction data source (not a transactional-datasource) is returned? -origin- Sender: xuhongbo [mailto:x...@tongtech.com] Date: 2009/12/29 12:53 Receiver: d...@geronimo.apache.org CC: user@geronimo.apache.org Subject: Cannot using Geronimo to execute bean-managed transaction with oracle transaction more than once, but Glassfish does 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
Re: [ANNOUNCE] Availability of Geronimo 2.2
Cool! We finally made it before 2010! :-) -Jack On Wed, Dec 30, 2009 at 10:23 AM, Bill Stoddard wgstodd...@gmail.com wrote: Congratulations Geronimo team! Bill On 12/29/09 7:29 PM, David Jencks wrote: The Apache Geronimo project is pleased to announce the available of Apache Geronimo v2.2 server. This includes improvements too numerous to mention here, a couple highlights are much easier custom server assembly, up to date activemq support, and JASPIC support. Visit the Downloads page for details on downloading Apache Geronimo v2.2 server assemblies and links to the release notes: http://geronimo.apache.org/downloads.html The individual jars and plugins have been available through maven for a few weeks now as I tried to figure out the last bits of the release process. It's quite possible I've messed up some bits of the non-maven process, so let us know if there are problems. A big THANK YOU to all that contributed to this release! Great work everyone! david jencks
Re: Reply: Cannot using Geronimo to execute bean-managed transaction with oracle transaction more than once, but Glassfish does
Can you try to use the tranql-connector-oracle-xa or tranql-connector-oracle-local to do the test? -Jack On Wed, Dec 30, 2009 at 11:26 AM, xuhongbo x...@tongtech.com wrote: In the future it would be great if you could only post to one mailing list. Thanks, I know I'm not sure what is wrong yet, however you should never try to set the autocommit state of a connection that is enlisted in a jta transaction. Enlisting and delisting the XAConnection will result in the autocommit being dealt with properly. The value from getAutoCommit may or may not be meaningful in a jta transaction. Outside a jta transaction the autocommit state defaults to true. I'm quite surprised you didn't get a more informative error. Yes you are right, auto commit has no means for jta connection and cannot be set to true; here I just set auto commit to false, so a jta connection should just omit it; But the surprise thing is if I doesn't affect auto commit state(in the program, just comment the statement setAutocommit(false)), when execute database operation, a ORA-02089: COMMIT ... exception will be throwed by oracle's database driver; it looks like the Geronimo does a wrong things commit on the connection when execute database operation; and this should only occurs on non-jta connection, because only no-jta connection will set auto commit default to true. One important piece of information that I don't see is which tranql wrapper you used to deploy your datasource. The datasource is org.tranql.connector.jdbc.DataSource. And it use a a managed-connection factory org.tranql.connector.oracle.XAMCF to open connection; And the managed-connection factory use a oracle's xa datasource (oracle.jdbc.xa.client.OracleXADataSource); By the way , I haven't ever post a trivial problem I have meet when I deploy the Oracle-XA data source. The trivial thing is: I must change the deploy plan created by Geronimo's web manage console tools, delete the empty property TNSEntryName and manually deploy it; because this is the oracle9i database driver's question --- a empty string value(not a null value) set to TNSEntryName will cause oracle9i's database driver to omit the other property (etc serverName, serviceName ...) and cannot establish a connect ; I thinks this should have no means to the transaction commit failure; but maybe it would give some other useful things help to find out the reason. Thanks a lot xuhongbo -origin - sender: David Jencks [mailto:david_jen...@yahoo.com] date: 2009/12/30 1:43 receiver: user@geronimo.apache.org subject: Re: Reply: Cannot using Geronimo to execute bean-managed transaction with oracle transaction more than once, but Glassfish does In the future it would be great if you could only post to one mailing list. I'm not sure what is wrong yet, however you should never try to set the autocommit state of a connection that is enlisted in a jta transaction. Enlisting and delisting the XAConnection will result in the autocommit being dealt with properly. The value from getAutoCommit may or may not be meaningful in a jta transaction. Outside a jta transaction the autocommit state defaults to true. I'm quite surprised you didn't get a more informative error. One important piece of information that I don't see is which tranql wrapper you used to deploy your datasource. thanks david jencks On Dec 29, 2009, at 3:48 AM, xuhongbo wrote: Hi: Yet I haven't find the real reason , I have noticed another thing about the problem; The original test program will throw exception while transaction commit; but if I comment the statement connection.setAutoCommit(false); . the exception will throws while execute prepare statement; and exception changed as ORA-02089: COMMIT doesn't allowed in sub transaction which raised by oracle's driver; It seems the connection 's auto commit is default set to true; so I am wondering while secondly execute the trasaction , a no- transaction data source (not a transactional-datasource) is returned? -origin- Sender: xuhongbo [mailto:x...@tongtech.com] Date: 2009/12/29 12:53 Receiver: d...@geronimo.apache.org CC: user@geronimo.apache.org Subject: Cannot using Geronimo to execute bean-managed transaction with oracle transaction more than once, but Glassfish does 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
Re: Welcome Jack Jun Jie Cai as a new committer
Congratulations, Jack! -:) 2009/12/30 Ivan xhh...@gmail.com I would like to welcome Jack aboard, as he recently accepted the Geronimo PMC invitation to become a committer. His account was just created this morning (caijunj), so you should start seeing some commits from him soon. -- Ivan -- Best Regards, Delos
Re: [ANNOUNCE] Availability of Geronimo 2.2
Great news! If possible, I will start release process for GEP 2.2 soon. Thanks all! 2009/12/30 Jack Cai greensi...@gmail.com Cool! We finally made it before 2010! :-) -Jack On Wed, Dec 30, 2009 at 10:23 AM, Bill Stoddard wgstodd...@gmail.com wrote: Congratulations Geronimo team! Bill On 12/29/09 7:29 PM, David Jencks wrote: The Apache Geronimo project is pleased to announce the available of Apache Geronimo v2.2 server. This includes improvements too numerous to mention here, a couple highlights are much easier custom server assembly, up to date activemq support, and JASPIC support. Visit the Downloads page for details on downloading Apache Geronimo v2.2 server assemblies and links to the release notes: http://geronimo.apache.org/downloads.html The individual jars and plugins have been available through maven for a few weeks now as I tried to figure out the last bits of the release process. It's quite possible I've messed up some bits of the non-maven process, so let us know if there are problems. A big THANK YOU to all that contributed to this release! Great work everyone! david jencks -- Best Regards, Delos
Re: Welcome Jack Jun Jie Cai as a new committer
Congrats ! On Wed, Dec 30, 2009 at 10:10 AM, Ivan xhh...@gmail.com wrote: I would like to welcome Jack aboard, as he recently accepted the Geronimo PMC invitation to become a committer. His account was just created this morning (caijunj), so you should start seeing some commits from him soon. -- Ivan -- Shawn
Re: [ANNOUNCE] Availability of Geronimo 2.2
Great ! ---Ding--- : ) On Wed, Dec 30, 2009 at 12:38 PM, Delos dait...@gmail.com wrote: Great news! If possible, I will start release process for GEP 2.2 soon. Thanks all! 2009/12/30 Jack Cai greensi...@gmail.com Cool! We finally made it before 2010! :-) -Jack On Wed, Dec 30, 2009 at 10:23 AM, Bill Stoddard wgstodd...@gmail.com wrote: Congratulations Geronimo team! Bill On 12/29/09 7:29 PM, David Jencks wrote: The Apache Geronimo project is pleased to announce the available of Apache Geronimo v2.2 server. This includes improvements too numerous to mention here, a couple highlights are much easier custom server assembly, up to date activemq support, and JASPIC support. Visit the Downloads page for details on downloading Apache Geronimo v2.2 server assemblies and links to the release notes: http://geronimo.apache.org/downloads.html The individual jars and plugins have been available through maven for a few weeks now as I tried to figure out the last bits of the release process. It's quite possible I've messed up some bits of the non-maven process, so let us know if there are problems. A big THANK YOU to all that contributed to this release! Great work everyone! david jencks -- Best Regards, Delos -- Shawn