2011-07-11 78 views
-3

我想自動關閉語句。我想自動關閉語句

我想通過以下條件的技術來實現它。

  • Java1.5的
  • 春天framework2.5

這似乎不是,雖然我覺得春天是事務管理器自動關閉聲明中默認的設置自動關閉。

我不想在可維護性的方法中儘可能多地調用close()

是否有聲明關閉的方法?

此外,有沒有一個官方網站或文件,顯示當沒有關閉方法的原因?

+2

*正在關閉*,*正在關閉* - 用於同一操作的兩個字或你在尋找不同的東西? –

+0

你能清楚地描述你正在努力完成什麼,你面臨什麼問題?在任何情況下,當語句執行需要比預期時間更長的時間時,是否嘗試將連接配置爲超時?你想給用戶提供一個選項來取消長時間運行的語句嗎? – Olaf

回答

0

如果所有的方法必須調用close()語句,那麼編碼量會增加,並且存在產生遺漏的可能性消失的問題。

此外,我正在制定框架。它想要通過這樣的理由儘可能地制定限制,並制定一些方法。

0

如果我理解你的問題的權利,你可以使用http://commons.apache.org/dbcp/爲你做關閉,據我所知這是標準無論如何,所以最有可能你已經在使用它,只要你使用spring或jndi來提供數據庫連接。 在您的數據庫連接配置中配置 removeAbandoned = true 和 removeAbandonedTimeout = 50 有關詳細信息,請參閱http://commons.apache.org/dbcp/configuration.html(最低塊)。 請注意,如果您依靠它來清理連接,則應該使用相當大的連接池。

對於爲什麼沒有關閉方法的問題:有。

關閉連接將關閉其所有陳述。關閉一個Statement的 將關閉它的所有ResultSets。

畢竟,它沒有很好的風格這樣做。我建議您自己調用close(),並使用拋棄刪除功能僅通過添加 來查找忘記的地點logAbandoned = true