Java tomcat jdbc池最大活动未工作?
我对应用程序使用SpringJDBC模板。。并在tomcat中部署它。。我想将连接池与tomcat jdbc一起使用。我的连接配置是Java tomcat jdbc池最大活动未工作?,java,mysql,spring,tomcat,Java,Mysql,Spring,Tomcat,我对应用程序使用SpringJDBC模板。。并在tomcat中部署它。。我想将连接池与tomcat jdbc一起使用。我的连接配置是 <bean id="dataSource" class="org.apache.tomcat.jdbc.pool.DataSource" destroy-method="close"> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> &l
<bean id="dataSource" class="org.apache.tomcat.jdbc.pool.DataSource" destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver" />
<property name="url" value="jdbc:mysql://localhost:3310/mydb" />
<property name="username" value="***" />
<property name="password" value="***" />
<property name="maxWait" value="10000" />
<property name="removeAbandonedTimeout" value="60" />
<property name="removeAbandoned" value="true" />
<property name="logAbandoned" value="false" />
<property name="initialSize" value="10" />
<property name="maxActive" value="100" />
<property name="minIdle" value="10" />
</bean>
我不知道怎么做,但是当我运行一些测试,并检查mysql中的最大线程时,它显示活动线程比配置中配置的最大活动线程多。那么,为什么配置中的maxActive不工作?如何让它工作?例如,maxActive是100,但当我签入mysql时,活动线程比maxActive多
maxActive(int)可以连接的最大活动连接数
同时从该池中分配。默认值为100
maxIdle(int)应保留在中的最大连接数
游泳池随时可用。默认值为maxActive:100个空闲连接
定期检查(如果启用)和空闲的连接
在超过我的时间内,维克多·莱蒂梅米利将被释放。(另见
testWhileIdle)
因此,我建议您也使用maxIdle,例如:
<property name="maxIdle" value="100">
但是可能有一个问题,如果你能显示你的连接管理代码,这将是有益的
这里有一个关于Spring的声明式和编程式事务管理连接问题的有趣链接:我也遇到了同样的问题,我的tomcat版本是tomcat 9 下面是我的解决方案:您应该将maxTotal值设置为100,而不是maxActive maxTotal:池中的最大数据库连接数。确保您配置的mysqld max_连接足够大,足以处理所有数据库连接。设置为-1表示无限制 来自