从 DBCP 连接池升级到 Tomcat 自己的实现(基于优秀的比较here http://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html#Introduction);我有点困惑为什么他们放弃了这两个属性,同时保留了其他所有内容:
poolPreparedStatements="true"
maxOpenPreparedStatements="10000"
这是否意味着此实现不支持准备好的语句池?默认情况下,每个连接是否维护自己的准备好的语句池?
我花了相当多的时间研究这个问题,但没有找到明确的答案!
谢谢你的时间。
Tomcat 的(相当)新的 jdbc-pool 也有一个语句缓存。
您可以使用以下命令启用和配置它JDBC interceptor
,它被设置为JDBC 属性 during 池创建.
请有一个看文档 http://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html#org.apache.tomcat.jdbc.pool.interceptor.StatementCache了解更多信息以及存在哪些配置可能性。
基本上是这样完成的:
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);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)