Tomcat connection pooling, свойства maxActive и maxWait


У меня есть служба Java, работающая в Tomcat, которая использует Tomcat DataSource и PoolProperties из org.апаш.кот.интерфейс jdbc.пул, как в примере "обычная старая Java" .

В среде stage, которая имеет Tomcat 8.0.29, я заметил следующие 2 строки в журнале 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, и я не вижу никаких сеттеров, соответствующих maxTotal и maxWaitMillis в PoolProperties.

Как я могу установить эти значения так, чтобы они не игнорировались?

1 3

1 ответ:

Пул соединений Tomcat JDBC и Apache DBCP - это две разные реализации пула соединений.

В среде stage у вас, вероятно, есть Apache DBCP2 в classpath, и Tomcat пытается использовать его вместо пула соединений Tomcat JDBC.