java - 具有准备好的语句缓存的 Tomcat 连接池

标签 java tomcat jdbc connection-pooling

已从 DBCP 连接池升级到 Tomcat 自己的实现(基于出色的比较 here );我有点困惑为什么他们放弃了这两个属性,同时保留了其他所有属性:

poolPreparedStatements="true"
maxOpenPreparedStatements="10000"

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

我花了相当多的时间研究这个问题,但没有找到明确的答案!

感谢您的宝贵时间。

最佳答案

Tomcat 的(相当)新的 jdbc-pool 也有语句缓存。 您可以使用 JDBC 拦截器 启用和配置它,该拦截器在池创建期间设置为JDBC 属性
请有look at the documentation了解更多信息以及存在哪些配置可能性。

基本上是这样做的:

      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);

关于java - 具有准备好的语句缓存的 Tomcat 连接池,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15527791/

相关文章:

java - 如何在java中捕获全局按键

Java客户端-服务器连接没有端口转发?

java - 在 Linux 上将 MySQL 字符集更改为 UTF8,以便它可以与 JDBC 一起使用

java - hibernate 与 jBoss - 必须支持 JDBC 驱动程序

java - 使用带有 tomcat 版本 9.0.31 的 spring boot 的分段文件上传失败

java - Tomcat/数据库设置 - JDBC 连接池

java - 无法使用 selenium webdriver 从日期选择器中选择日期

java - JVM 忽略 Xms 设置

tomcat - 在 Tomcat 虚拟主机上使用 `ant install`

java - 导入我的证书时出现 jdk keytool 异常