Tomcat连接池与准备好的语句缓存

从DBCP连接池升级到Tomcat自己的实现(基于此处的优秀比较); 我有点困惑为什么他们放弃这两个属性,同时保留其他一切:

poolPreparedStatements="true" maxOpenPreparedStatements="10000" 

这是否意味着此实现中不支持预准备语句池? 默认情况下,每个连接是否都维护自己的预准备语句池?

我花了相当长的时间研究这个并找不到明确的答案!

谢谢你的时间。

Tomcat(相当)新的jdbc-pool也有一个语句缓存。 您可以使用JDBC interceptor启用和配置它,该JDBC interceptor池创建期间设置为JDBC属性
请查看文档以获取更多信息以及存在哪些配置可能性。

它基本上是这样做的:

  PoolProperties p = new PoolProperties(); p.setUrl("jdbc:your-jdbc-url"); p.setDriverClassName("your.jdbc.driver.class"); p.setUsername("user"); p.setPassword("password"); p.setJdbcInterceptors( "org.apache.tomcat.jdbc.pool.interceptor.StatementCache"); DataSource datasource = new DataSource(); datasource.setPoolProperties(p);