We've been experiencing horrendous OOMEs recently after deploying 40 clones of a vendor's .war file which encompasses their application/portal. The context is about 100MB
Our customized piece of the puzzle is quite small. We place the jTDS jar for a quick database connection tha'ts made to their database, to Tomcat/server/lib. Then, we have 40 contexts for 40 customers, each one has its own WEB-INF/lib folder with an identical set of class folders and jars etc etc. When we deploy just ONE of these contexts onto our tomcat server, eveything's "fine". When we have 30, we need a daily restart, even though we never get more than 25 sessions to the database in that time … My question is, does placing the jtds.jar in /server/lib cause an issue? I know that it's bad practice to do this, and we're planning on refitting the deployment and placing this in common/lib … We're running a verbose:gc as well and have optimized to the best of our ability xmx xms settings and evaluated the one JSP we have created as part of the war package for leaks/finalizing objects properly. I've read to exhaustion all the OOME threads/memory leaks/ "tomcat's fine, it's your BAD CODE" threads, but now question some of our deployment mechanics. Thanks in advance !!