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