I'm running out of ideas here.
- Suse Linux 8
- JBoss 3.2.6
- Hibernate 2.1.7
- Stateless Session EJB w/ CMT
Most of our operations througth the session bean layer are read-only, and do not require transactions. To reduce the overhead of transactions on these readonly calls, we changed the ejb-jar.xml container-transaction mappings to be Supported / NotSupported.
However, when running with this configuration we gradually increase memory until the JVM has consumed all available (memory leak) resources.
When transactions are turned on (all container-transaction mappings = Required), we get intermittent transaction timeout warnings in the log and our resources are stable. (I'm guessing these timeouts cause the container to release resources.) However, this is certainly not the solution to the problem. The timeouts do not through exceptions (I think this feature isn't available until JBoss 4.x), and so it is nearly impossible to track down the source of the long running transaction.
Any ideas on this are more than welcome.