1

Java コードで JDBC 接続を開き、それを閉じるのを忘れた場合、それはずっと開いたままになりますか? または、どこかに指定できるデフォルトのタイムアウト値はありますか?

4

2 に答える 2

4

まず、コードを修正して閉じる必要があります。言い訳しない。

具体的な質問については、使用する DB サーバーによって異なります。タイムアウトして再利用するのはDBサーバーです。デフォルトとその変更方法については、DB サーバー固有の管理マニュアルを参照してください。たとえば MySQL の場合、wait_timeoutデフォルトで 28800 秒 (8 時間) に設定されています。

于 2012-04-23T14:35:15.447 に答える
0

これは、JDBC ドライバーの実装の詳細に依存します。一部にはタイムアウトがある場合があります。接続オブジェクトがガベージ コレクションされてファイナライズが呼び出されたときに閉じられるものもありますが、(1) オブジェクトの参照を停止してからガベージ コレクションが行われるまでの時間がわかりません。また、(2) ファイナライズが確実に呼び出されるわけではありません。

于 2012-04-24T21:42:44.797 に答える