我是DBCP
的新人。
我正在使用DBCP connection pool
Spring
和hibernate
,Database
是MYSQL
。
我无法找到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>
如果有任何想法,请帮助我。 感谢
答案 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
,它们更加简单。