我有一个在Tomcat中运行的Java服务,它使用来自org.apache.tomcat.jdbc.pool的Tomcat< DataSource
和PoolProperties
,如同"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。
如何设置这些值以免被忽略?
答案 0 :(得分:4)
Tomcat JDBC连接池和Apache DBCP是两种不同的连接池实现。
在您的舞台环境中,您可能在类路径中使用Apache DBCP2,而Tomcat尝试使用它而不是Tomcat JDBC连接池。