Well no responses, but I guess that is what is to be expected when I don't 
gather my thoughts properly before I post. Here is some additional information 
that I posted on the JCA forum. I'm not sure that that is the right place, so 
I'll update this topic as well.

--

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 in the SQL 
Server installation 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=4109139#4109139

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4109139
_______________________________________________
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to