Druid連sqlite,能查詢出結果,卻報ResultSet closed異常 。java
百度了一圈卻是碰到有人說相似的 ResultSet is closed 的錯誤的,沒找到解決方案,但能夠肯定是druid的問題。並且是druid的一個bug。mysql
<!-- 打開PSCache,是否緩存preparedStatement,也就是PSCache。 PSCache對支持遊標的數據庫性能提高巨大,好比說oracle。 在mysql5.5如下的版本中沒有PSCache功能,建議關閉掉。做者在5.5版本中使用PSCache,經過監控界面發現PSCache有緩存命中率記錄,該應該是支持PSCache。 --> <!--注:發現一個錯誤,Druid連sqlite,ResultSet closed異常,若是出現這個錯誤,註釋掉這2項--> <property name="poolPreparedStatements" value="true" /> <property name="maxPoolPreparedStatementPerConnectionSize" value="20" />
直接將上面的這2個屬性註釋掉,這個問題解決。sql
把poolPreparedStatements設置成false,或者註釋掉;數據庫
maxOpenPreparedStatements也註釋掉。便可解決,若是是用jdbc的寫法,那麼設置下緩存
dp.setMaxOpenPreparedStatements(0) , 就ok了。 oracle