We use Oracle 11.2.0 and it can handle more than 1000 connections. Here is the stacktrace of the connection pool empty error that I receive in tomcat logs
Caused by: org.apache.tomcat.jdbc.pool.PoolExhaustedException: [http-apr-30690-exec-743] Timeout: Pool empty. Unable to fetch a connection in 30 seconds, none available[size:100; busy:72; idle:0; lastwait:30000]. at org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:667) at org.apache.tomcat.jdbc.pool.ConnectionPool.getConnection(ConnectionPool.java:182) at org.apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:128) at org.springframework.orm.hibernate3.LocalDataSourceConnectionProvider.getConnection(LocalDataSourceConnectionProvider.java:82) at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:417) On Thu, Jun 28, 2012 at 11:46 AM, chris derham <ch...@derham.me.uk> wrote: > On Thu, Jun 28, 2012 at 12:38 PM, Yasser <yarafa...@gmail.com> wrote: > > > Yes. It does show that maxactive has reached 100. I also use splunk to > get > > the connection status at the oracle side. > > What I dont understand is that Resin needs just 50 connections to handle > > the same load. I am in the process of increasing the count to 300 and see > > if that makes a difference. Oracle has the capacity to handle that many > > connections. > > > > We hit an odd oracle exception that may be related. Can't explain it > really well, but the essence of the bug in Oracle was that the > tnslistener's connection count wasn't updated "regularly enough" when > connections closed, so it could believe that the connection limit had > exceeded when the db instance was still happy to accept more connections. > As I recall this was a known Oracle issue, and was fixed by increasing the > acceptable connection count in Oracle. Can you provide the exact exception > from the logs that you hit? > > Also have you tried turning on connection pool logging to diagnose when > actual physical connections are created? > > Chris >