我遇到了一个问题,就是tomcat jdbc pool配合hibernate缓存查询结果,但是我禁用了hibernate的缓存。
但是当我将 jdbc 池切换到 DBCP 时,问题就消失了。所以我确保在tomcat jdbc池中有查询结果缓存,但是我没有找到任何关于这个问题的文档。
有人可以告诉我如何关闭 tomcat jdbc 池中的查询缓存吗?它在 tomcat-jdbc-7.0.47 中运行,并且有下面的配置。
<bean id="dataSource" class="org.apache.tomcat.jdbc.pool.DataSource" destroy-method="close">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url"
value="jdbc:mysql://192.168.1.104:3306/uip_test_1?useUnicode=true&characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
<property name="defaultAutoCommit" value="false"/>
<!--<property name="initialSize" value="10" />-->
<property name="maxActive" value="40"/>
<property name="maxIdle" value="10"/>
<property name="maxWait" value="60000"/>
<property name="testOnBorrow" value="true"/>
<property name="timeBetweenEvictionRunsMillis" value="3600000"/>
<property name="testWhileIdle" value="true"/>
<property name="validationQuery" value="select 1 from dual"/>
</bean>