我在启动时的应用程序会触发大量查询以启动初始缓存。
此时,使用JProfiler进行性能分析表明软引用由ojdbc6驱动程序维护。结果,我的初始JVM大小增加到更高的值,如果tomcat收到任何请求,这会给我带来性能损失。
即使服务器没有收到http请求,这个占用的JVM大小也会在相当大的数量(我的情况下为1小时)后下降到几乎一半的大小。
为了解决这个问题,我将tomcat的上下文参数配置为factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
和jdbcInterceptors="StatementCache(max=100)"
我仍然可以看到使用JProfiler的ojdbc6驱动程序维护的软引用。
问题:有没有办法可以最小化ojdbc6驱动程序维护的这些软引用?
注意:Oracle的白皮书建议驱动程序维护一个Prepared Statement Cache。