From: David J. <dav...@di...> - 2002-06-16 20:47:16
|
Can you please check with the cvs version of jboss 3.0 and see if this problem is fixed? To checkout, see instructions at https://sourceforge.net/cvs/?group_id=3D= 22866 and use something like cvs -z3 -d:pserver:ano...@cv...:/cvsroot/jboss co -rBranch3_0 jboss-all To compile,=20 cd build ./build.sh or equivalent build.bat on windows. I changed to LocalManagedConnection to keep track of the underlying connection's autocommit state without calling c.getAutoCommit(). Thanks david jencks On 2002.06.06 03:23:44 -0400 Karri Niemel=E4 wrote: > Finally, I did manage to get BMP entity beans working somehow... Now > there is this new "sybase" specific problem. > After you get the connection, run your query/stored procedure and then > you close the connection, you endup having -> > --clipclip-- > 2002-06-05 16:54:24,247 INFO [org.jboss.resource.connectionmanager.JBo= ssManagedConnectionPool] > ResourceException returning ManagedConnection to pool: > javax.resource.ResourceException: Could not cleanup: > com.sybase.jdbc2.jdbc.SybSQLException: SET CHAINED command not allowed > within multi-statement transaction. >=20 > at org.jboss.resource.adapter.jdbc.local.LocalManagedConnection= .cleanup(LocalManagedConnection.java:198) > at org.jboss.resource.connectionmanager.InternalManagedConnecti= onPool.returnConnection(InternalManagedConnectionPool.java:137) > at org.jboss.resource.connectionmanager.JBossManagedConnectionP= ool$BasePool.returnConnection(JBossManagedConnectionPool.java:324) > at org.jboss.resource.connectionmanager.BaseConnectionManager2.= returnManagedConnection(BaseConnectionManager2.java:494) > at org.jboss.resource.connectionmanager.LocalTxConnectionManage= r$LocalConnectionEventListener.commit(LocalTxConnectionManager.java:567) > at org.jboss.tm.TxCapsule.commitResources(TxCapsule.java:1656) > at org.jboss.tm.TxCapsule.commit(TxCapsule.java:357) > at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:74) > at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(T= xInterceptorCMT.java:190) > at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorC= MT.java:61) > at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInt= erceptor.java:129) > at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.j= ava:166) > at org.jboss.ejb.EntityContainer.invoke(EntityContainer.java:49= 3) > at org.jboss.ejb.Container.invoke(Container.java:705) > at org.jboss.ejb.EntityContainer.invoke(EntityContainer.java:10= 55) > at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.j= ava:491) > at org.jboss.invocation.jrmp.server.JRMPInvoker.invoke(JRMPInvo= ker.java:362) > at java.lang.reflect.Method.invoke(Native Method) > at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.ja= va:241) > at sun.rmi.transport.Transport$1.run(Transport.java:142) > at java.security.AccessController.doPrivileged(Native Method) > at sun.rmi.transport.Transport.serviceCall(Transport.java:139) > at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTranspo= rt.java:443) > at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCP= Transport.java:643) > at java.lang.Thread.run(Thread.java:484) > --clipclip--- >=20 > Now this is a sybase specific problem, and managed to find that-> >=20 > When cleanup method in LocalManagedConnection class is called, it goes > and calls checkTransaction. > Now in that method we have: > --clipclip-- > . > . > if (jdbcAutoCommit && !con.getAutoCommit()) > { > con.setAutoCommit(true); > return; > } // end of if () > --clipclip-- > Now this doesnt work with Sybase CHAINED mode, since this getAutoCommit > starts a new transaction.=20 > So calling setAutoCommit(true) isnt possible without > rollbacking/comitting before (else you endup having this exception : "S= ET > CHAINED command > now allowed within multi-statement transaction"). >=20 > Somebody in the Expresso mailing-list proposed that: "This only way to > work properly with Sybase is to call rollback (to be > sure there is no more transaction) and then setAutocommit(true). This i= s > what Poolman and Jakarta DBCP do and it is OK,"=20 >=20 > Any comments? >=20 >=20 >=20 > _______________________________________________________________ >=20 > Don't miss the 2002 Sprint PCS Application Developer's Conference > August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm >=20 > _______________________________________________ > JBoss-user mailing list > JBo...@li... > https://lists.sourceforge.net/lists/listinfo/jboss-user >=20 >=20 |