- - PR -
コネクションの返却
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2003-04-05 13:19
こんにちわ。
Struts 1.0.2 の DataSource を使って JDBC 接続しようと 思っているのですが、getConnection で取得したコネクションを 解放するにはどうすればよいのでしょうか? DataSource は一種のコネクションプールだと思っているのですが、 やっぱり使った後は解放しないと再利用されないですよね。 con.close() で解放する場合もあるみたいですけど、これは 接続自体が切れてしまったりしないのでしょうか? // |
|
投稿日時: 2003-04-07 15:27
Strutsはデフォルトの状態だとDataSourceの実装に
org.apache.struts.util.GenericDataSource、 Connectionの実装にorg.apache.struts.util.GenericConnectionを使います。 GenericConnectionのソースコードを見てみると、 close()が呼ばれたときにはコネクションを初期化して closedというフラグをtrueに設定し、 DataSourceにコネクションを返却する、という動作をしています。 実際にコネクションを閉じる代わりに 「コネクションを閉じました」というフラグを立ててあげて コネクションをプールに返却してあげてるわけです。 ので、StrutsのDataSourceを使うのであれば con.close()でいいのではないかなと。 |
|
投稿日時: 2003-04-07 22:11
ayum さん
詳しい回答ありがとうございます。 私もソースを見てみます。 ちなみにデフォルトの DataSource を使わない選択肢としては どのようなものがありますか? デフォルトのものを使うことによるデメリットはありますか? |
1
