关于tomcat启动时的警告 :Property maxActive is not used in DBCP2, use maxTotal instead. 和 Property maxWait i

https://bbs.csdn.net/topics/340185527javascript

网站今天放到服务器上好好的,过一天就不能访问数据库了,重启一下tomcat就行了,网上找了说是MySQL对全部链接的有效时间默认为28800秒,正好8小时,高手请帮忙,最好有实例,谢谢java

看你的描述重启一下tomcat就行了 说明不是mysql 的问题。应该是系统的链接池的缘由吧。应该让系统在获取链接池的连接的时候,判断下连接是不是活动的。mysql

 

https://cloud.tencent.com/developer/article/1353263web

关于tomcat启动时的警告 :Property maxActive is not used in DBCP2, use maxTotal instead. 和 Property maxWait i

咱们如今用的tomcat大概都是8.5 或是9.0,这些版本的tomcat内置的DBCP2,和之前老版本如tomcat 7的链接池不同,7.0等老版本用的是DBCP。sql

tomcat 7等老版本中,内置链接池时 context.xml文件 的默认配置示例:数据库

<?xml version="1.0" encoding="UTF-8"?> <Context> <Resource name="jdbc/day28" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWaitMillis="10000" username="root" password="root" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/day28"/> </Context>

在老版本的tomcat里面关于容许的最大链接数用maxActive来表示,最大等待延用maxWait来表示apache

咱们如今用的是新版本的tomcat,新版本内置的链接池已经升级了,因此若是咱们继续使用这个配置就会出现以下图所示警告:tomcat

警告原文以下:服务器

七月 05, 2018 1:55:06 下午 org.apache.catalina.startup.HostConfig deployDirectory 信息: Deploying web application directory [D:\learn\JavaWeb\apache-tomcat\apache-tomcat-9.0.7\webapps\day28_struts2_final] 七月 05, 2018 1:55:06 下午 org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory getObjectInstance 警告: Name = day28 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. 七月 05, 2018 1:55:06 下午 org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory getObjectInstance 警告: Name = day28 Property maxWait is not used in DBCP2 , use maxWaitMillis instead. maxWaitMillis default value is -1. You have set value of "10000" for "maxWait" property, which is being ignored. 七月 05, 2018 1:55:06 下午 org.apache.jasper.servlet.TldScanner scanJars 信息: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time. 七月 05, 2018 1:55:07 下午 org.apache.catalina.startup.HostConfig deployDirectory 信息: Deployment of web application directory [D:\learn\JavaWeb\apache-tomcat\apache-tomcat-9.0.7\webapps\day28_struts2_final] has finished in [1,469] ms

这个警告其实已经把话说的很明白了,既然8.5,9.0tomcat内置的是DBCP2,已经使用 maxTotal来取代maxActive、使用 maxWaitMillis来取代maxWait,app

所以咱们只须要将本身的配置文件中的maxActive替换成maxTotalmaxWait替换成maxWaitMillis便可。

<?xml version="1.0" encoding="UTF-8"?> <Context> <Resource name="jdbc/day28" auth="Container" type="javax.sql.DataSource" maxTotal="100" maxIdle="30" maxWaitMillis="10000" username="root" password="root" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/day28"/> </Context>

警告消失了:

七月 05, 2018 3:26:15 下午 org.apache.catalina.startup.HostConfig undeploy 信息: Undeploying context [/day28_struts2_final] 七月 05, 2018 3:26:15 下午 org.apache.catalina.startup.HostConfig deployDirectory 信息: Deploying web application directory [D:\learn\JavaWeb\apache-tomcat\apache-tomcat-9.0.7\webapps\day28_struts2_final] 七月 05, 2018 3:26:16 下午 org.apache.jasper.servlet.TldScanner scanJars 信息: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time. 七月 05, 2018 3:26:16 下午 org.apache.catalina.startup.HostConfig deployDirectory 信息: Deployment of web application directory [D:\learn\JavaWeb\apache-tomcat\apache-tomcat-9.0.7\webapps\day28_struts2_final] has finished in [1,087] ms

附上:DBCP2中配置参数详解连接:http://bsr1983.iteye.com/blog/2092467

本文参考连接以下:https://blog.csdn.net/vr_jia/article/details/74530389