2016-11-29 21 views
0

私はJavaを初めて使っています。JDBCリセット接続

私は、データベース(Postgres)関連の機能を実装するJavaクラスを持っています。

データベースが停止してから再起動すると、接続がリセットされたため(データベースが起動して実行中)、このクラスがSQLExceptionをスローします。

データベースを再起動した後に何らかの方法がありますか。私のクラスは自動的にデータベースに接続し、SQLExceptionをスローするのではなく、期待どおりに動作します。

DriverManager.getConnection()のパラメータとしてPropertiesを使用する方法はありますか。

おかげ MAP

+2

例外をキャッチして再接続を試みる – DZDomi

+0

データベースはPostgresです。とにかくDriverManager.getConnection()へのパラメータとしてPropertiesがありますか? – map125

答えて

1

はSQLExceptionを処理するためのtry catchブロックを使用してください。 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

私はあなたのDBソリューションのオンラインドキュメントをチェックアウトしましたか分かりませんか? – dahui