Try one application that runs your connection pool against your one i stance of mysql server and lets go from there. If you do not properly get and release your SQL connections from the pool, you will exhaust your pool. Let's get one working and go from there. Again, everytime you call a getconnection to your pool, you're holding o to that connection until you close your sql object. If you acquire more connections than you release, you will exhaust your pool. Two solutions: 1) make sure you only hold on to a connection as long as is necessary, 2) increase pool size. The amount of time that the SQL server requires to respond will also affect the pool size.