Dbcp连接池按预期创建更多连接

时间:2014-11-12 11:57:18

标签: mysql spring hibernate connection-pooling apache-commons-dbcp

我是DBCP的新人。    我正在使用DBCP connection pool SpringhibernateDatabaseMYSQL。    我无法找到connections中创建了多少connection pool。   每次它给出不同的进程列表计数。

我使用的配置是:

 <code>
 dbcp.maxActive =11
 dbcp.maxIdle =70
 dbcp.validationQuery=SELECT 1
 dbcp.minIdle =6
 dbcp.timeBetweenEvictionRunsMillis=34000
 dbcp.minEvictableIdleTimeMillis = 55000
 dbcp.testOnBorrow =true
</code>

如果有任何想法,请帮助我。    感谢

2 个答案:

答案 0 :(得分:2)

免责声明:我是HikariCP开发人员。我当然也会推荐HikariCP,但基本上DBCP是那里最贫穷的游泳池之一。如果不是HikariCP,请尝试Tomcat DBCP或Vibur。如果您为HikariCP启用DEBUG日志记录,它根本不会“嘈杂”,并且您将每30秒记录一次池统计信息。

答案 1 :(得分:1)

默认dbcp connection池为8 connections,因此如果您要同时运行9个查询,其中一个将被阻止。 从javadocs,您应该能够从getNumIdle()getNumActive()方法中读取此内容,如果您可以获得BasicDataSource的实例 或连接到数据库和 运行exec sp_who2,它将显示连接和活动的内容,以及是否阻止任何查询。 一个建议是他们如果你了解它DBCP,它有更多的问题,我建议你使用HikariCP,它已经充分利用了它(适用于与性能相关的任务){ {3}}这将为您提供有用的演示,并最后使用Spring's SimpleJdbcTemplate,它们更加简单。