Hi,
My J2EE application doesn't need hsqldb. It uses JDBC with SQL Server on the following setup:
Windows 2000
JBoss 3.2.1 with Jetty
JavaVMVersion 1.4.1_05-b01
Recently I ran into some strange behaviour of the HSQLDB which is described very well by another member in this archived thread:
http://www.jboss.org/index.html?module=bb&op=viewtopic&t=44751
I couldn't reply to the above post since it's archived so I had to do my own investigation, especially since our production server had previously crashed at least twice with an OutOfMemoryException.
I noticed that hsqldb was creating a very large number of threads (one almost every five minutes), which then became locked and were never cleaned up. There were a total of 2090 threads running at some point on my production server. I also noticed a steady increase in memory usage (3Megs/day on average), even during days when we had 0 load.
I was still able to duplicate this behaviour after undeploying my application and restarting the JBoss server.
Further, I remembered that last year I had disabled TCP/IP access to hsqldb following this security warning:
http://sourceforge.net/docman/display_doc.php?docid=19314&group_id=22866
I reenabled the TCP/IP access and monitored the server for five more days. While I could see new threads being created by hsqldb, they were being cleaned up properly. The total number of active threads was staying put and the memory usage was roughly the same.
Yesterday I decided to completely remove hsqldb-ds.xml from my deploy folder and monitor the server a bit more. Today I redeployed my application and it seems to run just fine.
I'd like to know if any JBoss services depend on hsqldb. I'd rather remove hsqldb altogether than reenable TCP/IP access to it in production.
Should I expect anything to go wrong in JBoss if I undeploy hsqldb?
Thanks,
Montia