After I am tired of deadlock exeptions I tried to use XA jdbc drivers fro MS SQL server. I asked admin to install a dll on the sqlserver side as it is specified in MS JDBC driver docs. But it never worked for me. There're different exceptions that are listed below.
Please tell me if really all the jboss 3.x.x users always use single datasource for their ejb applications so that do not face these XA problems? I cannot find a way how I can use more than one datasource in application...
2002-10-10 17:52:18,066 WARN [org.jboss.tm.TxCapsule] XAException: tx=XidImpl [FormatId=257, GlobalId=xxx.xxx.com//444, BranchQual=] errorCode=XAER_PROTO
javax.transaction.xa.XAException: Transaction has to commit/rollback before another transaction starts.
at com.microsoft.jdbcx.sqlserver.SQLServerImplXAResource.start(Unknown Source)
at com.microsoft.jdbcx.base.BaseXAResource.start(Unknown Source)
at org.jboss.tm.TxCapsule.startResource(TxCapsule.java:1232)
...
2002-10-10 17:52:18,082 WARN [org.jboss.tm.TxCapsule] XAException: tx=XidImpl [FormatId=257, GlobalId=xxx.xxx.com//444, BranchQual=] errorCode=XAER_RMERR
javax.transaction.xa.XAException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]No matched thread found for XaEnd
at com.microsoft.jdbcx.sqlserver.SQLServerImplXAResource.executeXaRpc(Unknown Source)
at com.microsoft.jdbcx.sqlserver.SQLServerImplXAResource.end(Unknown Source)
at com.microsoft.jdbcx.base.BaseXAResource.end(Unknown Source)
at org.jboss.tm.TxCapsule.endResource(TxCapsule.java:1289)
at org.jboss.tm.TxCapsule.delistResource(TxCapsule.java:620)
...
2002-10-10 17:52:18,088 WARN [org.jboss.tm.TxCapsule] XAException: tx=XidImpl [FormatId=257, GlobalId=xxx.xxx.com//444, BranchQual=] errorCode=XAER_RMERR
javax.transaction.xa.XAException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]xa_rollback (0) returns -4
at com.microsoft.jdbcx.sqlserver.SQLServerImplXAResource.executeXaRpc(Unknown Source)
at com.microsoft.jdbcx.sqlserver.SQLServerImplXAResource.rollback(Unknown Source)
at com.microsoft.jdbcx.base.BaseXAResource.rollback(Unknown Source)
at org.jboss.tm.TxCapsule.rollbackResources(TxCapsule.java:1779)
...
2002-10-10 17:52:18,098 ERROR [org.jboss.ejb.plugins.LogInterceptor] EJBException, causedBy:
java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]Distributed transaction completed. Either enlist this session in a new transaction or the NULL transaction.
at com.microsoft.jdbc.base.BaseExceptions.createException(Unknown Source)
at com.microsoft.jdbc.base.BaseExceptions.getException(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processErrorToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReplyToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRPCRequest.processReplyToken(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSRequest.processReply(Unknown Source)
at com.microsoft.jdbc.sqlserver.tds.TDSCursorRequest.openCursor(Unknown Source)
at com.microsoft.jdbc.sqlserver.SQLServerImplStatement.execute(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.commonExecute(Unknown Source)
at com.microsoft.jdbc.base.BaseStatement.executeQueryInternal(Unknown Source)
at com.microsoft.jdbc.base.BasePreparedStatement.executeQuery(Unknown Source)
at com.microsoft.jdbcx.base.BasePreparedStatementWrapper.executeQuery(Unknown Source)
at com.tw.eazybuild.ejb.BannerBean.ejbFindByCategoryBanners(BannerBean.java:218)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.jboss.ejb.plugins.BMPPersistenceManager.callFinderMethod(BMPPersistenceManager.java:638)
...
Best wishes,
Alexei Yudichev mailto:[EMAIL PROTECTED]
