Transactions not committing
michaeljbergin Mar 4, 2003 5:07 PMI've seen a lot of posts on the forums both under this topic as well as the datasource topic without any good answers. I posted my message to this forum because I'm using a JCA connection. Here is my configuration:
JBoss 3.0.6: Standard build downloaded from jboss.org
Microsoft SQL Server 2000
Microsoft JDBC Drivers for SQL Server Service Pack 1
In the application I'm having a problem with I have only one stateless session bean. My stateless session bean uses the example mssql-service.xml file with real values filled in. The session bean does makes no updates to the database, it simply selects data and returns it. The stateless session bean is exposed to web services clients using a simple JAX-RPC delegate the receives the calls, decodes the values, they're Strings with special characters, and passes the data on to the stateless session bean and returns the returned data.
I haven't modified any of the default settings for JBoss 3.0.6 with the exception of the login-config.xml file to setup my login domain and axis-config.xml to comment out the security domain so it would use the domain specified in my JAX-RPC components descriptor.
The problem that I'm having is that it seems the transactions created as a result of calling the stateless session bean are never committed. When hitting the server with a reasonable number of hits I eventually get errors indicating that no more connections can be retrieved from the database, XAResource errors, etc. I don't have a hard number for how many hits per second because if I keep going screen to screen quickly I eventually get the exception so no testing software was necessary. The transactions stay open until I receive a timeout: [TxCapsule] Transaction XidImpl [FormatId=257, GlobalId=snakeeyes//6, BranchQual=] timed out. status=STATUS_ACTIVE. Once I start receiving these messages I can successfully begin hitting the session bean again. I have all of my session bean methods, not part of the home interface, marked Required for the value of the transaction element. I initial did not specify this value however specifying the value made no difference. None of my code contains ANY logic to manipulate transactions in any way.
I have seen numerous people having this same problem without any solutions. I'm not sure what information is required to properly diagnose this issue so please post requests for any files and I will post them. I would like to work through this problem completely and post a good solution for everyone that is having this problem. Thanks in advance for your help.