2011-03-22 72 views
13

我在Tomcat上有一個Web應用程序,它處理數據庫連接池,並使用Spring JDBCTemplate執行查詢。有人要求我實施一個狀態頁面,該狀態頁面將由心跳過程監視,以確定服務器是否一切正常。我可以爲單個查詢設置JDBC超時嗎?

作爲這個的一部分,我想要做一個數據庫查詢來確定與數據庫的連接是否正常。理想情況下,因爲它只是一個'選擇1',我希望它在10秒內快速恢復,以表明如果數據庫在那段時間內沒有響應,則表示失敗。

但是,我不想更改我的連接,以便正常請求很快超時。

有沒有一種方法來設置每個查詢超時使用原始JDBC或Spring JDBC包裝?

+0

對於這種類型的scneario,我建議將它設置爲1或2秒,這將表明數據庫擁塞。 – cherouvim 2011-03-23 08:21:19

回答

9

如果您使用spring來管理事務,則也可以在事務級別指定超時。 @Transactional(timeout = 10)

+0

謝謝,我會試試看。 – 2011-03-23 17:36:26

22

在Statement(或PreparedStatement)對象上使用setQueryTimeout。

相關問題