关于tomcat启动时的警告 :maxActive is not used inDBCP2

来源:互联网 发布:软件项目实施流程图 编辑:程序博客网 时间:2024/05/18 02:32

我们现在用的tomcat大概都是8.5 或是9.0,这些版本的tomcat内置的DBCP2,和以前老版本如tomcat 7的连接池不一样,7.0等老版本用的是DBCP。

但是做开发时我们很多人或许都看了这样的博客,如孤傲苍狼大神的文章

http://www.cnblogs.com/xdp-gacl/p/4002804.html

里面给出了一个使用tomcat内置连接池时context的配置范例:

1 <Context>2   <Resource name="jdbc/datasource" auth="Container"3             type="javax.sql.DataSource" username="root" password="XDP"4             driverClassName="com.mysql.jdbc.Driver" 5             url="jdbc:mysql://localhost:3306/jdbcstudy"6             maxActive="8" maxIdle="4"/>7 </Context>
里面关于允许的最大连接数是用maxActive来代表,但是孤傲苍狼大神用的毕竟是老版本的tomcat,我们用的时新版本的tomcat,新版本内置的连接池已经升级了,所以如果我们继续使用这个配置就会出现警告,

org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory.getObjectInstanceName = wifiAuth Property maxActive is not used inDBCP2, usemaxTotal instead.maxTotal default value is 8. You have set value of "100" for"maxActive" property, which is being ignored.


这个警告其实已经把话说的很明白了,既然8.5,9.0tomcat内置的时DBCP2,已经使用maxTotal来取代maxActive,因此我们只需要将自己的配置文件中的

maxActive替换成maxTotal即可。最后附上DBCP2中配置参数详解的连接:

http://bsr1983.iteye.com/blog/2092467


PS:最后我再啰嗦一句,麻烦各位大神在发帖子时能够正确回答问题,不然可能有点误导像我这样的菜鸟。比如这位大神对于这个警告的回答,似乎答非所问,

http://www.jianshu.com/p/059f47952b78

摘录这位大神的部分内容:

///////////////////////////////////

先检查了下spring中数据源的配置,发现是没怎么修改,那就基本确认是tomcat7和9的问题。

那就对比了2个版本的tomcat配置文件context.xml ,也一样


那基本可以确认是tomcat的版本不一致导致的。为了节约时间,可以选择不使用低版本就好了。

/////////////////////////////////////////

看这内容我真是心理糊涂,难道你用新版本的tomcat 9,并且用maxActive就不报警了?



阅读全文
1 0
原创粉丝点击