1) As already stated in another response, its possible that the load to the system is more than what the pool could handle. In such case, max-pool-size need to be tuned (increased).
2) Connections are leaked by the application (ie., they are not closed in certain use-cases).
You could enable connection-leak-tracing to see whether connections are leaked.
Please refer :
http://blogs.sun.com/kshitiz/entry/connection_leak_tracing
[Message sent by forum member 'jr158900']