1

I am developing software For SMS Gateway that: - do many select, insert, update and delete statements like more than one million hit on database every day. - I have some difficulties in managing resources like DB connection, so I do not know where to close the connection to minimize the number of created connections. - I use Driver Manager. - When I keep the connection unclosed I get memory leak in tomcat. - In the console app there are threads using DAOs and the have static connection so I do not close it.

1) Is it good idea not to close the connection of DB after the query done, and leave it open?

2) I have servlet running to receive SMS on http connection and insert them in DB, and I expect thousands of http connections on this servlet (maybe per minutes), shall I close and create DB connection for every request for the servlet?

3) what is the best practice for using DB Connections in this case?

4

1 に答える 1

4

クエリが完了した後、DB の接続を閉じずに、開いたままにしておくのは良い考えですか?

接続プールを使用し、必要なときにそこから接続を取得し、それを閉じてプールにできるだけ早く解放することをお勧めします。

静的接続を使用するスレッドがあるため、接続を閉じた場合、他のスレッドが例外を取得する可能性はありますか?

絶対。これは最悪の方法です。やらないでください。上記を参照。

http 接続で SMS を受信して​​ DB に挿入するサーブレットを実行していますが、このサーブレットで数千の http 接続 (おそらく 1 分あたり) を期待しています。

はい。ただし、接続プール経由です。上記を参照してください。

この場合、DB 接続を使用するためのベスト プラクティスは何ですか?

上記を参照。

タイトルの質問に関しては、データベースの構成に完全に依存します。

于 2013-10-09T01:17:47.073 に答える