我一直遇到同样的异常,尽管我已经尽力通过搜索来解决它,但并没有任何效果。
我的异常信息是:
SEVERE: Exception : org.apache.tomcat.jdbc.pool.PoolExhaustedException: [pool-2-thread-1] Timeout: Pool empty. Unable to fetch a connection in 30 seconds, none available[size:100; busy:100; idle:0; lastwait:30000].
at org.apache.tomcat.jdbc.pool.ConnectionPool.borrowConnection(ConnectionPool.java:672)
at org.apache.tomcat.jdbc.pool.ConnectionPool.getConnection(ConnectionPool.java:187)
at org.apache.tomcat.jdbc.pool.DataSourceProxy.getConnection(DataSourceProxy.java:128)
at com.xxxxx.dbmanager.utils.DBManager.getConnection(DBManager.java:81)
at com.xxxxx.dbmanager.utils.SQLManager.<init>(SQLManager.java:36)
at ...
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java:351)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
我已尝试增加mysql数据库中的最大连接数。
我只是在想,是否在后台运行且创建线程的servlet可能是问题所在?而当任务完成时,我如何结束我的线程?
非常感谢您的帮助!