我用的数据库连接池配置如下:
//设置连接池初始连接数
dataSource.setInitialSize(3);
//设置最多获取连接数
dataSource.setMaxActive(100);
//最大可用空闲连接数
dataSource.setMaxIdle(30);
//最小可用空闲连接数
dataSource.setMinIdle(10);
//设置自动回收超时 连接
dataSource.setRemoveAbandoned(true);
//设置超时时间(以秒数为单位)
dataSource.setRemoveAbandonedTimeout(180);
// 超时等待时间以毫秒为单位
dataSource.setMaxWait(3000);
就出现了上面的问题。之后查了一下数据的最大连接数是300,感觉不应该出现这个问题啊 程序中我的资源也释放了。
最后的解决方法是将连接池的设置给改为:
//设置连接池初始连接数
dataSource.setInitialSize(3);
//设置最多获取连接数
dataSource.setMaxActive(100);
//最大可用空闲连接数
dataSource.setMaxIdle(30);
//最小可用空闲连接数
dataSource.setMinIdle(10);
//设置自动回收超时 连接
//dataSource.setRemoveAbandoned(true);
//设置超时时间(以秒数为单位)
//dataSource.setRemoveAbandonedTimeout(180);
// 超时等待时间以毫秒为单位
//dataSource.setMaxWait(3000);
问题就解决了。