[英]Tomcat connection pooling, maxActive and maxWait properties
我有一个在 Tomcat 中运行的 Java 服务,它使用来自 org.apache.tomcat.jdbc.pool 的 Tomcat 的DataSource
和PoolProperties
,如“Plain Ol' Java”示例中所示。
在具有 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 对应的设置器。
如何设置这些值以使它们不被忽略?
Tomcat JDBC 连接池和 Apache DBCP 是两种不同的连接池实现。
在您的舞台环境中,您可能在类路径中有 Apache DBCP2,而 Tomcat 尝试使用它而不是 Tomcat JDBC 连接池。
您必须使用此 jar 文件: commons-pool-1.5.4.jar和common-dbcp-1.4.jar
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.