アプリ版:「スタンプのみでお礼する」機能のリリースについて

Connection、ResultSet、Statementのclose処理について、
何となくは行わないといけない、ということはわかるのですが、
それがどうしてなのかがイメージとしてしっかりと具体化できませんでした。

これらのclose処理は一体どうして、行わないといけないのでしょうか?(必須ではないみたいですが、行った方がよい様子でしたので)
データベースつなぎっぱなしの「connectionが繋がったまま」という状況がダメだというのは何となく「ああ、そうなんだ」と思えるはしますが・・・ それでも「何がどうなるからダメであるのか」がいまいち、ボヤけている状態です。

【参考URL】
http://www.atmarkit.co.jp/fjava/rensai2/jspservl …

「 ■データベースや結果セットは明示的にクローズすべきか 」

より、内容をみてみたところ

>不要なリソースをいつまでもメモリ上に残すということは、限りあるサーバリソースを浪費するという意味でも好ましいことではありません。

ともありましたが、
ここの「限りあるサーバーリソースを浪費する」というのは、
サーバー上にある「数少ないメモリ領域を、ResultSetなり、Statementなりが占領してしまう」ことにより、他のプログラムを動かせなくなってしまうから、ということなのでしょうか?

A 回答 (1件)

メモリもそうですが、データベースに対するコネクションも使っているので場合によっては、データベースに接続できないプログラムも出てきたりします。



それが、処理の優先順位の高いプログラムだったりすると怒られるだけじゃすまないこともあります。

なので、必要の無いものはクローズするべきだと思います。
    • good
    • 0
この回答へのお礼

どうも、ありがとうございます。

メモリのリソースを食うだけじゃ済まないのですね^^;
「コネクションをずっと持っておく」というのは危険性なことなのですね。

お礼日時:2009/06/25 19:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!