We are using JNDI with Struts for DS and Connection Pooling. The issue is we very often getting this 'OutOfMemoryError'. And after a server restart only we can able to use the application. Currently we dont have much data's say around 5000, but after implementation, it'll go upto 1lakh. My question is , is there any way to find if there is an memory leak in the application? Because, for another application we are using Spring + DBCP and it never give us any problem yet.
Or else,do we need to close each and every connection manually in Controller itself? Which one do you suggest and please help me get rid of this.
Thanks in advance.
Never try to be a hard-worker. Be a smart-worker.
You should always release JDBC resources in a finally block after you have finished with them.
To find memory leaks, run your application in a soak test environment and watch memory consumption. If it keeps rising, you may have a leak. To find it, profile what the application is doing with a profiler.