Hi, 

I have been stress testing JBoss 3.0.1 with XA transactions and MS
SQLServer 2000 as a datasource. The scenario I have is reading messages
from JMS and writing them to SQLServer in an XA transaction, and another
thread reading from SQLServer and writing to JMS in another XA
transaction. Its a pretty tight loop of messages going around and
around, with lots and lots of transactions. After about 70000 - 80000
transactions I get the following error:

2002-08-15 20:05:19,245 WARN  [org.jboss.tm.TxCapsule] XAException:
tx=XidImpl [FormatId=257, GlobalId=MKI010135//244013, BranchQual=]
errorCode=XA_UNKNOWN(-1)
javax.transaction.xa.XAException: 
        at
com.microsoft.jdbcx.sqlserver.SQLServerImplXAResource.verifyReturnCode(U
nknown Source)
        at
com.microsoft.jdbcx.sqlserver.SQLServerImplXAResource.executeXaRpc(Unkno
wn Source)
        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:1180)
        at org.jboss.tm.TxCapsule.enlistResource(TxCapsule.java:679)
        at
org.jboss.tm.TransactionImpl.enlistResource(TransactionImpl.java:102)
        at
org.jboss.resource.connectionmanager.XATxConnectionManager$XAConnectionE
ventListener.enlist(XATxConnectionManager.java:262)
        at
org.jboss.resource.connectionmanager.XATxConnectionManager.managedConnec
tionReconnected(XATxConnectionManager.java:202)
        at
org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConn
ection(BaseConnectionManager2.java:534)
        at
org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionMa
nagerProxy.allocateConnection(BaseConnectionManager2.java:812)
        at
org.jboss.resource.adapter.jdbc.JDBCDataSource.getConnection(JDBCDataSou
rce.java:110)
        at
test.XATransactionTest$testJMSToDB.doTheTest(XATransactionTest.java:349)
        at
test.XATransactionTest$testJMSToDB.run(XATransactionTest.java:303)
        at java.lang.Thread.run(Thread.java:536)
2002-08-15 20:05:19,285 INFO  [test.XATransactionTest] Thread-36
committed
2002-08-15 20:05:19,305 WARN  [org.jboss.tm.TxCapsule] XAException:
tx=XidImpl [FormatId=257, GlobalId=MKI010135//244012, BranchQual=]
errorCode=XAER_RMERR
javax.transaction.xa.XAException: [Microsoft][SQLServer 2000 Driver for
JDBC][SQLServer]Import of MSDTC transaction failed: Result Code =
0x8007000e.
        at
com.microsoft.jdbcx.sqlserver.SQLServerImplXAResource.enlist(Unknown
Source)
        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:1180)
        at org.jboss.tm.TxCapsule.enlistResource(TxCapsule.java:679)
        at
org.jboss.tm.TransactionImpl.enlistResource(TransactionImpl.java:102)
        at
org.jboss.resource.connectionmanager.XATxConnectionManager$XAConnectionE
ventListener.enlist(XATxConnectionManager.java:262)
        at
org.jboss.resource.connectionmanager.XATxConnectionManager.managedConnec
tionReconnected(XATxConnectionManager.java:202)
        at
org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConn
ection(BaseConnectionManager2.java:534)
        at
org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionMa
nagerProxy.allocateConnection(BaseConnectionManager2.java:812)
        at
org.jboss.resource.adapter.jdbc.JDBCDataSource.getConnection(JDBCDataSou
rce.java:110)
        at
test.XATransactionTest$testJMSToDB2.doTheTest(XATransactionTest.java:871
)
        at
test.XATransactionTest$testJMSToDB2.run(XATransactionTest.java:825)
        at java.lang.Thread.run(Thread.java:536)

and I can no longer access SQLServer. 

Has anyone else had these sorts of problems? Has anyone else used
SQLServer with so many XA transactions? It looks like the Microsoft
Distributed Transaction Coordinator falls over, but I'm wondering what I
might be doing to cause this. 

rgds, 

Steve.




Here is my configuration file for the datasource:

<?xml version="1.0" encoding="UTF-8"?>

<!--
=====================================================================
-->
<!--
-->
<!--  JBoss Server Configuration
-->
<!--
-->
<!--
=====================================================================
-->

<server>


  <!--
==================================================================== -->
  <!-- ConnectionManager setup for xa Microsoft SQL Server 2000, using
-->
  <!-- Microsoft's JDBC driver.
-->
  <!-- Thanks to Benjamin Geer  <[EMAIL PROTECTED]>
-->
  <!-- Be sure to set the JndiName property to the name you want to look
up -->
  <!-- the datasource under and set the location of your database in
-->
  <!-- the ManagedConnectionFactoryProperties.
-->
  <!--
==================================================================== -->

  <mbean
code="org.jboss.resource.connectionmanager.XATxConnectionManager"
         name="jboss.jca:service=XATxCM,name=MSSQLXaDS">

  
     
    <depends optional-attribute-name="ManagedConnectionFactoryName">
      <!--embedded mbean-->
      <mbean code="org.jboss.resource.connectionmanager.RARDeployment"
             name="jboss.jca:service=XATxDS,name=MSSQLXaDS">

        <attribute name="JndiName">MSSQLXaDS</attribute>

        <!--real attributes-->
        <attribute name="ManagedConnectionFactoryProperties">
          <properties>
            <config-property name="XADataSourceProperties"
type="java.lang.String">ServerName=SERVERNAME;SelectMethod=cursor;Databa
seName=DATABASENAME</config-property> 
            <config-property name="XADataSourceClass"
type="java.lang.String">com.microsoft.jdbcx.sqlserver.SQLServerDataSourc
e</config-property>
            <config-property name="UserName"
type="java.lang.String">USERNAME</config-property> 
            <config-property name="Password"
type="java.lang.String">PASSWORD</config-property>             
          </properties>
        </attribute>
        <!--hack--> 
        <depends
optional-attribute-name="OldRarDeployment">jboss.jca:service=RARDeployme
nt,name=Minerva JDBC XATransaction ResourceAdapter</depends>

      </mbean>
    </depends>
    <depends optional-attribute-name="ManagedConnectionPool">
      <!--embedded mbean-->
      <mbean
code="org.jboss.resource.connectionmanager.JBossManagedConnectionPool"
             name="jboss.jca:service=XATxPool,name=MSSQLXaDS">

        <attribute name="MinSize">0</attribute>
        <attribute name="MaxSize">50</attribute>
        <attribute name="BlockingTimeoutMillis">5000</attribute>
        <attribute name="IdleTimeoutMinutes">15</attribute>
        <!--criteria indicates if Subject (from security domain) or app
supplied
            parameters (such as from getConnection(user, pw)) are used
to distinguish
            connections in the pool. Choices are 
            ByContainerAndApplication (use both), 
            ByContainer (use Subject),
            ByApplication (use app supplied params only),
            ByNothing (all connections are equivalent, usually if
adapter supports
              reauthentication)-->
        <attribute name="Criteria">ByContainer</attribute>
      </mbean>
    </depends>
    <depends
optional-attribute-name="CachedConnectionManager">jboss.jca:service=Cach
edConnectionManager</depends>


    <depends
optional-attribute-name="JaasSecurityManagerService">jboss.security:serv
ice=JaasSecurityManager</depends>

    <attribute
name="TransactionManager">java:/TransactionManager</attribute>

    <!--make the rar deploy! hack till better deployment-->
    <depends>jboss.jca:service=RARDeployer</depends>
  </mbean>

</server>


-------------------------------------------------------
This sf.net email is sponsored by: OSDN - Tired of that same old
cell phone?  Get a new here for FREE!
https://www.inphonic.com/r.asp?r=sourceforge1&refcode1=vs3390
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to