2016-11-29 84 views
0

我對Java很新。JDBC - 重置連接

我有Java類實現數據庫(Postgres)相關的功能。

問題是如果數據庫停止,然後重新啓動然後我的這個類拋出SQLException連接重置(數據庫已啓動並運行)。

數據庫重新啓動後有什麼辦法嗎?我的類自動連接到數據庫並按預期工作,而不是拋出SQLException。

是否有任何與DriverManager.getConnection()的參數作爲參數的方式。

感謝 MAP

+2

發現異常並嘗試重新連接 – DZDomi

+0

數據庫是Postgres。無論如何,將Properties作爲DriverManager.getConnection()的參數。 – map125

回答

1

使用try catch塊來處理的SQLException。當您捕獲到SQLException時,程序可能會等待指定的一段時間,然後嘗試重新連接,您可以根據需要循環該循環。

boolean connected = false; 
// repeat until connected is true 
while (!connected) { 
    try { 
     // put your connection code here 
     connected == true; 
    } catch (SQLException se) { 
     // sleep for 10 seconds 
     Thread.sleep(10000); 
    } 
} 
+0

一個數據庫是Postgres。 反正有作爲DriverManager.getConnection()的參數的屬性。 謝謝 – map125

+0

我不確定,你有沒有在線查看你的數據庫解決方案的文檔? – dahui