You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Nathan Boyce <Na...@cabelas.com> on 2015/10/09 22:11:58 UTC

JDBC PoolExhaustedException

Does the tomcat jdbc pool use its own executor or does it share the executor that's calling it?  Reason I ask is the pool size is set to 320 but only 84 show busy.  The default tomcatThreadPool executor has been removed from this config and executor with the name AJPThreadPool has been added for the ajp connections. The ajp thread pool is maxing out but unable to tell is it's the cause or effect. 

Server.xml config 
<Executor name="AJPThreadPool" namePrefix="ajp-" maxThreads="750" minSpareThreads="10" maxIdleTime="10000" prestartminSpareThreads="true"/> 

Error
org.apache.tomcat.jdbc.pool.PoolExhaustedException: [ajp-693] Timeout: Pool empty. Unable to fetch a connection in 10 seconds, none available[size:320; busy:84; idle:0; lastwait:10000].


Apache Tomcat Version 7.0.55

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Re: JDBC PoolExhaustedException

Posted by Christopher Schultz <ch...@christopherschultz.net>.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Nathan,

On 10/9/15 4:11 PM, Nathan Boyce wrote:
> Does the tomcat jdbc pool use its own executor or does it share
> the executor that's calling it?

A connection pool rarely has a thread pool associated with it: it's
just a repository for connections. Most pools have an optional
"cleaner" thread, but its usually one thread that does the cleaning
separate from any client code.

> Reason I ask is the pool size is set to 320 but only 84 show busy.
> The default tomcatThreadPool executor has been removed from this
> config and executor with the name AJPThreadPool has been added for
> the ajp connections. The ajp thread pool is maxing out but unable
> to tell is it's the cause or effect.
> 
> Server.xml config <Executor name="AJPThreadPool" namePrefix="ajp-" 
> maxThreads="750" minSpareThreads="10" maxIdleTime="10000" 
> prestartminSpareThreads="true"/>
> 
> Error org.apache.tomcat.jdbc.pool.PoolExhaustedException:
> [ajp-693] Timeout: Pool empty. Unable to fetch a connection in 10
> seconds, none available[size:320; busy:84; idle:0;
> lastwait:10000].

Is there anything else in the log?

Perhaps a new connection cannot be created. Resource limit on the
server, maybe?

- -chris
-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - http://gpgtools.org

iQIcBAEBCAAGBQJWHQrdAAoJEBzwKT+lPKRYO1MQAMMsq3OBnCuMlVYU4e4u6SHV
1n/TNmFScTAgMusYzDMca/Q4Vkxq61FSpRPJS95e/YzfiQ5Z9W/jChZl2vK11Zn5
uNst2j7m4FYNe5eupuyCKxpYgTvP4kT+vYMgz9hqqxctqyWVHIHp44W88hnH6pxi
vcmeXnWQeq8QwDYzGyF9MDEzQI6PRcA/aUK0cgg6nwcHulSZ01anTRpmgH/10qe0
nF2AOlUvS2mkFAJy5FXzJJU4gCGyWhkovuJvbliJcBceMDmMuIJ6i8DHVQcSSW8c
I7AwlNYDbPe3ZuxwRSzmVH7MkRRPbPqWBTf2Ws8J0uUBXI9B9VxdOEYAoJyTmeQp
tSQVQxUic5MsK3pUbQEJvlEvLgZcK86nGXPiq0QT8WBLpdQZTqqcitvjw6Z2iSqL
cF+fAwSOcSUujB9lDv0rYVkyg0CdRnSRxkLb0q90qZbfsNAg4HokIasZyQO0Jw6x
1ogN62VGERA1zslBGOCK31w4O6EU3+5IJEHPu6UmOHqbAewYgoUNuWt3g0jtMi6Z
C1CroUNR15sr0kUQUx7sZYnUie1JsSP8Lxzenu1B0aySHDZID4HxyNCUsmh8ub7t
dQhVHLKtajKCWHcVWxPCzIyClAMiBFpxElnT+z6f7CUnlRYIKQMa9mj5MYDol0IM
6Xrzyb5XWYmXgI+18urK
=HUC0
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org