Re: autocommit=true problem with oc4j application server
Posted by: Mark Matthews
Date: June 24, 2005 03:23PM

faisal iqbal wrote:
> i am using container managed enterprise java
> beans, also a container managed session facade.
> JDBC driver is connectorJ for mysql database. when
> i deploy the ejbs on server, during deployment it
> issues following warnings.
>
> "canot call commit when autocommit=true"
>
> when container try to commit the transaction in
> any method of ejb then it throws following
> exception.
>
> oracle.oc4j.rmi.OracleRemoteException: Error open
> transaction is not closed
>
> at
> UserMgmtSessionEJB_StatelessSessionBeanWrapper115.
> registerNewUser(UserMgmtSessionEJB_StatelessSessio
> nBeanWrapper115.java:557)
>
> at
> sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ
> e Method)
>
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(Native
> MethodAccessorImpl.java:39)
>
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(De
> legatingMethodAccessorImpl.java:25)
>
> at
> java.lang.reflect.Method.invoke(Method.java:324)
>
> at
> com.evermind.server.rmi.RMICallHandler.run(RMICall
> Handler.java:67)
>
> at
> com.evermind.server.rmi.RMICallHandler.run(RMICall
> Handler.java:47)
>
> at
> com.evermind.server.rmi.InterceptorCallHandlerWrap
> per.run(InterceptorCallHandlerWrapper.java:18)
>
> at
> com.evermind.util.ReleasableResourcePooledExecutor
> $MyWorker.run(ReleasableResourcePooledExecutor.jav
> a:299)
>
> at java.lang.Thread.run(Thread.java:534)
>
> at connection to xerces/192.168.0.205 as admin
> at
> UserMgmtSessionEJB_StatelessSessionBeanWrapper115.
> registerNewUser(UserMgmtSessionEJB_StatelessSessio
> nBeanWrapper115.java:557)
>
> at
> sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ
> e Method)
>
> at
> sun.reflect.NativeMethodAccessorImpl.invoke(Native
> MethodAccessorImpl.java:39)
>
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(De
> legatingMethodAccessorImpl.java:25)
>
> at
> java.lang.reflect.Method.invoke(Method.java:324)
>
> at
> com.evermind.server.rmi.RMICallHandler.run(RMICall
> Handler.java:67)
>
> at
> com.evermind.server.rmi.RMICallHandler.run(RMICall
> Handler.java:47)
>
> at
> com.evermind.server.rmi.InterceptorCallHandlerWrap
> per.run(InterceptorCallHandlerWrapper.java:18)
>
> at
> com.evermind.util.ReleasableResourcePooledExecutor
> $MyWorker.run(ReleasableResourcePooledExecutor.jav
> a:299)
>
> at java.lang.Thread.run(Thread.java:534)
>
>
>
> Regards,
> Faisal Iqbal


Faisal,

The JDBC spec used to require that you can't call commit() when autoCommit==true (and even tested for it in the compliance test).

If you have a container that does this, add "relaxAutoCommit=true" to your URL and this problem should go away.

-Mark

Mark Matthews
Consulting Member Technical Staff - MySQL Enterprise Tools
Oracle
http://www.mysql.com/products/enterprise/monitor.html

Options: ReplyQuote


Subject
Written By
Posted
Re: autocommit=true problem with oc4j application server
June 24, 2005 03:23PM


Sorry, you can't reply to this topic. It has been closed.

Content reproduced on this site is the property of the respective copyright holders. It is not reviewed in advance by Oracle and does not necessarily represent the opinion of Oracle or any other party.