3

DBCP接続プールからTomcat独自の実装にアップグレードした(ここでの優れた比較に基づく)。他のすべてを維持しながら、なぜこれら2つのプロパティを削除したのかについて少し混乱しています。

poolPreparedStatements="true"
maxOpenPreparedStatements="10000"

これは、プリペアドステートメントプーリングがこの実装でサポートされていないことを意味しますか?そして、各接続はデフォルトで準備されたステートメントの独自のプールを維持しますか?

私はこれを研究するのにかなりの時間を費やしましたが、明確な答えは見つかりませんでした!

御時間ありがとうございます。

4

1 に答える 1

7

Tomcatの(かなり)新しいjdbc-poolにもステートメントキャッシュがあります。プールの作成時にJDBCプロパティJDBC interceptorとして設定されるを使用して有効化および構成できます。詳細および存在する構成の可能性については、ドキュメントを参照して ください。

それは基本的にこのように行われます:

      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);
于 2013-07-17T19:54:14.913 に答える