我想檢測數據庫何時關閉,並且我知道一旦數據庫關閉就會拋出SQLException。使用Connection.isValid()
。超時參數代表什麼?它說:檢測數據庫關閉
timeout - - 以秒爲單位等待數據庫操作用於驗證連接完成的數據庫操作 。如果在操作完成之前超時期限 已過期,則此方法返回false。 A 值爲0表示超時未應用於數據庫 操作。
這是什麼意思?
我想檢測數據庫何時關閉,並且我知道一旦數據庫關閉就會拋出SQLException。使用Connection.isValid()
。超時參數代表什麼?它說:檢測數據庫關閉
timeout - - 以秒爲單位等待數據庫操作用於驗證連接完成的數據庫操作 。如果在操作完成之前超時期限 已過期,則此方法返回false。 A 值爲0表示超時未應用於數據庫 操作。
這是什麼意思?
那麼,「數據庫關閉」意味着它不響應。這不像它可以告訴你「嗨,我失望」。所以超時意味着在將數據庫視爲離線之前,此方法等待響應的時間。
isValid()方法允許您檢查連接的有效性。
對於此方法,您可以指定以秒爲單位的超時,如果超出內部有效性檢查完成之前的超時時間,該方法將返回false。
如果您不希望您的程序在有效性檢查時間過長的情況下等待很長時間,這非常有用。
如果您將0作爲超時輸入,則不會應用超時,並且您的程序將等待檢查完成。
它表示如果任何連接在很長一段時間內空閒時丟棄連接的時間。
什麼是檢測數據庫是否關閉的合理時間量。這裏可以輸入什麼值? – user3189663
這取決於你的數據庫是多麼「遠」網絡方式。你可能只是連接不好,但這很少是一個問題。不要把你的超時設置爲幾秒鐘,而是實現一個重試邏輯。 – enlait