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"> ....
Comments