Tomcat连接池,maxActive和maxWait属性

时间:2015-12-17 12:17:21

标签: tomcat jdbc connection-pooling

我有一个在Tomcat中运行的Java服务,它使用来自org.apache.tomcat.jdbc.pool的Tomcat< DataSourcePoolProperties,如同"Plain Ol' Java" example

在具有Tomcat 8.0.29的舞台环境中,我在Catalina日志中注意到以下两行。

WARNING [localhost-startStop-1] org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory.getObjectInstance Name = somedb Property maxActive is not used in DBCP2, use maxTotal instead. maxTotal default value is 8. You have set value of "50" for "maxActive" property, which is being ignored.
WARNING [localhost-startStop-1] org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory.getObjectInstance Name = somedb 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.

我没有在拥有Tomcat 8.0.21的开发环境中看到此类日志条目。

我无法将数据源设置为JNDI资源,并且我在PoolProperties中看不到与maxTotal和maxWaitMillis对应的任何setter。

如何设置这些值以免被忽略?

1 个答案:

答案 0 :(得分:4)

Tomcat JDBC连接池和Apache DBCP是两种不同的连接池实现。

在您的舞台环境中,您可能在类路径中使用Apache DBCP2,而Tomcat尝试使用它而不是Tomcat JDBC连接池。

相关问题