1

Spring JDBC テンプレートと BoneCP 接続プールを使用しています。JDBC URL を意図的に無効な値に設定すると (失敗したデータベース接続でシステムがどのように動作するかをテストするため)、UnknownHostExceptionサーバーの起動時にスローされますが、サーバーは起動し続けます。リクエストを送信すると、jdbcTemplate.query(sql)メソッドがハングします。システムがハングアップしないようにこれを処理する良い方法は何jdbcTemplate.query(sql)ですか?

このシナリオは、ネットワーク接続の問題が原因でデータベースがダウンしている場合に発生する可能性があります。idleMaxAgeInSecondsとのmaxConnectionAgeInSeconds値をいじってみました。両方とも 10 に設定しましたが、コードはまだハングアップしていjdbcTemplate.query()ます。

4

1 に答える 1

1

あなたの質問を理解しているかどうかはわかりませんが、例外が発生した場合にサーバーを起動したくないか、データベースに接続しようとする前にデータベースがオンになっているかどうかを確認する静的変数を設定したいようです(jdbc の初期化時に UnknownHostException は発生しません)。

たぶん、これはあなたの答えを示しています:

http://www.cubrid.org/blog/dev-platform/understanding-jdbc-internals-and-timeout-configuration/

幸運を!

于 2013-02-04T22:53:05.787 に答える