I am trying to get the Microsoft 1.2 JDBC driver configured for xa-datasource to function as the DefaultDS for an 4.2.1.GA jboss cluster, and I have run into an issue that I hope you can help with.
On the second and all subsequent attempts at starting the server I get a javax.transaction.RollbackException. I have done no other processing, I just shut it down and start it back up. If I drop all of the tables that JBoss creates, and start the server there are no errors reported. I have followed the directions to turn on trace for jdbc and ta, but I see no difference in the output. First let me document the setup which I have pieced together from multiple sources. I think this is getting close. It may contain steps that are not required, but I know this is close to working. Host is: Microsoft Windows Server 2003 Standard Edition Service Pack 2 Intel Xeon 2.80GHz 1.00 GB of Ram | | | 1.) I installed SQL Server 2005 evaluation | | 2.) Downloaded and expanded the 1.2 driver package released 10/15/2007 http://www.microsoft.com/downloads/details.aspx?FamilyId=C47053EB-3B64-4794-950D-81E1EC91C1BA&displaylang=en | | 3.) Copied the appropriate dll to the Binn directory soc SQL Server as documented in the comments of the sqljdbc_1.2\enu\xa\xa_install.sql file from the directory where I expanded the JDBC package. | | 4.) Ran the T-SQL script in the xa directory of the JDBC driver. | | 5.) Turned on the MS DTC service http://www-1.ibm.com/support/docview.wss?uid=swg21221370 | | 6.) Created a boss user -- Make sure to turn enable SQL login, and uncheck the box that says enforce the log in policy. | | 7.) Created a jboss database, and made my jboss user the owner of it. | | 8.) Modified the jboss user to have access to the master and granted the SqlJDBCXAUser, then made the jboss database the default database. | | 9.) Restarted SQL Server. | | 10.) Copied the jdbc driver to server/all/lib | | 11.) Deleted the hsqldb-ds.xml file | | 12.) Copied the docs/examples/jca/mssql-da-ds.xml file to the deploy directory. It required some major surgery to get right. I eventually wound up with this:<datasources> | | | <xa-datasource> | | | <jndi-name>DefaultDS</jndi-name> | | | <track-connection-by-tx/> | | | <isSameRM-override-value>false</isSameRM-override-value> | | | <xa-datasource-class>com.microsoft.sqlserver.jdbc.SQLServerXADataSource</xa-datasource-class> | | | <xa-datasource-property name="ServerName">localhost</xa-datasource-property> | | | <xa-datasource-property name="DatabaseName">jboss</xa-datasource-property> | | | <xa-datasource-property name="SelectMethod">cursor</xa-datasource-property> | | | <xa-datasource-property name="User">jboss</xa-datasource-property> | | | <xa-datasource-property name="Password">jboss</xa-datasource-property> | | | <xa-datasource-property name="URL">jdbc:sqlserver://localhost:1433</xa-datasource-property> | | | <!-- corresponding type-mapping in the standardjbosscmp-jdbc.xml --> | | | <metadata> | | | <type-mapping>MS SQLSERVER2000</type-mapping> | | | </metadata> | | | </xa-datasource> | | | </datasources> | | 13.) In the deploy-hasingleton directory I deleted the hsqldb-jdbc-state-service.xml file | | 14.) Copied the docs\examples\jms\mssql-jdbc2-service.xml | | 15.) Changed the datasource in mssql-jdbc2-service.xml to DefaultDS | | This being my first attempt ( Yea right :) ) it of course came up with no errors. | | The problem is that on all subsequent times that it comes up I get the following exception being thrown. | | 19:50:39,919 INFO [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=DefaultDS' to JNDI name 'java:DefaultDS' | | 19:50:41,950 WARN [JDBCStateManager] Error initialising state manager db | | org.jboss.mq.SpyJMSException: Could not commit/rollback a transaction with the transaction manager.; - nested throwable: (javax.transaction.RollbackException: [com.arjuna.ats.internal.jta.transaction.arjunacore.commitwhenaborted] [com.arjuna.ats.internal.jta.transaction.arjunacore.commitwhenaborted] Can't commit because the transaction is in aborted state) | | at org.jboss.mq.sm.jdbc.JDBCStateManager$JDBCSession.close(JDBCStateManager.java:638) | | at org.jboss.mq.sm.jdbc.JDBCStateManager.initDB(JDBCStateManager.java:485) | | at org.jboss.mq.sm.jdbc.JDBCStateManager.startService(JDBCStateManager.java:393) | | at org.jboss.system.ServiceMBeanSupport.jbossInternalStart(ServiceMBeanSupport.java:289) | | at org.jboss.system.ServiceMBeanSupport.jbossInternalLifecycle(ServiceMBeanSupport.java:245) | | at sun.reflect.GeneratedMethodAccessor3.invoke(Unknown Source) | | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) | | at java.lang.reflect.Method.invoke(Method.java:585) | | at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155) | | at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94) | | at org.jboss.mx.server.Invocation.invoke(Invocation.java:86) | | at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264) | | at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659) | | at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:978) | | at $Proxy0.start(Unknown Source) | | at org.jboss.system.ServiceController.start(ServiceController.java:417) | | | | | | ~~~~~~~~~~~~~~ more stuff you probably don't care about ~~~~~~~~ | | | | | | at org.jboss.system.server.ServerImpl.doStart(ServerImpl.java:482) | | at org.jboss.system.server.ServerImpl.start(ServerImpl.java:362) | | at org.jboss.Main.boot(Main.java:200) | | at org.jboss.Main$1.run(Main.java:508) | | at java.lang.Thread.run(Thread.java:595) | | Caused by: javax.transaction.RollbackException: [com.arjuna.ats.internal.jta.transaction.arjunacore.commitwhenaborted] [com.arjuna.ats.internal.jta.transaction.arjunacore.commitwhenaborted] Can't commit because the transaction is in aborted state | | at com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.commitAndDisassociate(TransactionImple.java:1394) | | at com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.commit(BaseTransaction.java:135) | | at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.commit(BaseTransactionManagerDelegate.java:87) | | at org.jboss.mq.sm.jdbc.JDBCStateManager$JDBCSession.close(JDBCStateManager.java:633) | | ... 112 more | | 19:50:42,294 INFO [A] Bound to JNDI name: queue/A | | 19:50:42,325 INFO [B] Bound to JNDI name: queue/B | | | | | I am stumped and I have not been able to come up with any meaningful clues on the Web. | | Thanks in advance for any help. | | Ronald Trask | | Professional Services | XAware inc. | | http://www.xaware.org View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4109136#4109136 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4109136 _______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user