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

Stu*_*ion 3 java tomcat connection-pooling jdbc

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

poolPreparedStatements="true"
maxOpenPreparedStatements="10000"
Run Code Online (Sandbox Code Playgroud)

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

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

谢谢你的时间.

MRa*_*ser 6

Tomcat(相当)新的jdbc-pool也有一个语句缓存.您可以使用a启用和配置它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);
Run Code Online (Sandbox Code Playgroud)