Version 6

    Using the Microsoft SQL Server JDBC driver, I am getting the following exception during the boot sequence, why?

     

    11:19:15,870 WARN [TransactionImpl] XAException: tx=TransactionImpl:XidImpl[FormatId=257, GlobalId=myhost/1, BranchQual=, localId=1] errorCode=XA_RBROLLBACK
    org.jboss.resource.connectionmanager.JBossLocalXAException: could not commit local tx; - nested throwable: (org.jboss.resource.JBossResourceException: SQLException; - nested throwable: (com.microsoft.sqlserver.jdbc.SQLServerException: New request is not allowed to start because it should come with valid transaction descriptor.))
    at org.jboss.resource.connectionmanager.TxConnectionManager$LocalXAResource.commit(TxConnectionManager.java:912)
    at org.jboss.tm.TransactionImpl$Resource.commit(TransactionImpl.java:2253)
    at org.jboss.tm.TransactionImpl.commitResources(TransactionImpl.java:1784)
    at org.jboss.tm.TransactionImpl.commit(TransactionImpl.java:340)
    at org.jboss.tm.TxManager.commit(TxManager.java:240)
    at org.jboss.mq.sm.jdbc.JDBCStateManager$JDBCSession.close(JDBCStateManager.java:613)
    at org.jboss.mq.sm.jdbc.JDBCStateManager.initDB(JDBCStateManager.java:465)
    at org.jboss.mq.sm.jdbc.JDBCStateManager.startService(JDBCStateManager.java:378) 
    
    

     

     

    The MS JDBC driver is doing an internal rollback - anti-spec behaviour - when JBossMQ fails to create a table that already exists.

     

    This issue was logged in the following JIRA task: http://jira.jboss.com/jira/browse/JBAS-4260

     

    (Note: Patches for earlier versions than 4.0.5SP1 are available to our customers)

     

     

     

    To use the MS-specific classes, you need to update the following files:

     

     

    - /deploy/jms/XXXX-jdbc2-service.xml (or /deploy-hasingleton in the all server configuration)

     

     

     

      <mbean code="org.jboss.mq.pm.jdbc2.MSSQLPersistenceManager"
          name="jboss.mq:service=PersistenceManager">
       ....
    

     

     

     

     

    - /deploy/jms/XXXX-jdbc-state-service.xml (or /deploy-hasingleton in the all server configuration)

     

     

     

      <mbean code="org.jboss.mq.sm.jdbc.MSSQLJDBCStateManager"
               name="jboss.mq:service=StateManager">
       ....