现象
tomcat启动警告提示:
Property maxActive is not used in DBCP2, use maxTotal instead. maxTotal default value is 8. You have set value of "100" for "maxActive" property, which is being ignored
数据库配置说明
本人用的tomcat9,
数据库配置
<Resource
name="jdbc/workflow"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://XXX.X.X.2XX:1433;databaseName=XXXX"
username="sa"
password="XXXXXX"
maxActive="200"
maxIdle="60"
initialSize="20"
maxWait="15000"
testOnBorrow="true"
testWhileIdle="true"
testOnReturn="true"
minEvictableIdleTimeMillis="10000"
timeBetweenEvictionRunsMillis="10000"
removeAbandoned="true"
removeAbandonedTimeout="30"
logAbandoned="true"
/>
原因
8.5,9.0tomcat内置的时DBCP2,已经使用maxWaitMillis来取代maxWait,因此我们只需要将自己的配置文件中的
maxWait替换成maxWaitMillis,maxTotal代替maxActive即可。
修改
<Resource
name="jdbc/workflow"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://XXX.X.X.2XX:1433;databaseName=XXXX"
username="sa"
password="XXXXXX"
maxTotal="200"
maxIdle="60"
initialSize="20"
maxWaitMillis="15000"
testOnBorrow="true"
testWhileIdle="true"
testOnReturn="true"
minEvictableIdleTimeMillis="10000"
timeBetweenEvictionRunsMillis="10000"
removeAbandoned="true"
removeAbandonedTimeout="30"
logAbandoned="true"
/>