Tomcat JDBC连接池,创建的连接超过maxActive

时间:2018-07-24 08:21:39

标签: jdbc tomcat8 mysql-5.7 connection-pool

我正在使用tomcat 8.0.39,mysql 5.7服务器和mysql连接器5.1.34 这是我的context.xml配置

<Resource
          name="jdbc/provider"
          auth="Container"
          driverClassName="com.mysql.jdbc.ReplicationDriver"
          factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
           url="******"
           username="******"
           password="******"
           maxActive="40"
           maxIdle="10"
           minIdle="10"
           maxWait="4500"
           maxAge="21600000"
           minEvictableIdleTimeMillis="60000"
           timeBetweenEvictionRunsMillis="5000"
           validationInterval="0"
           removeAbandoned="true"
           removeAbandonedTimeout="60"
           validationQuery="SELECT 1"
           testOnBorrow="true"
           type="javax.sql.DataSource"
           logAbandoned="true"/>

连接数增加到130,但预计最多40个

1 个答案:

答案 0 :(得分:1)

Tomcat已将其默认连接池库更新为Tomcat 8中的Apache Commons DBCP2.x。Tomcat7和更早版本使用了DBCP1.x。 DDBCP 2使用maxTotal而不是maxActive来限制连接数。还有其他显着变化。请阅读Tomcat 8 migration guide数据库连接池部分。