- PR -

DBのopen・closeのタイミング

投稿者投稿内容
山本 裕介
ぬし
会議室デビュー日: 2003/05/22
投稿数: 2415
お住まい・勤務地: 恵比寿
投稿日時: 2007-03-06 19:33
>これがDBCPということですよね?
そういうことです。これは Tomcat 上で使う場合の設定例のようですが、単体でも使えたと思います。

コネクションプーリングは簡単なようで、色々と例外的な状況を考えると作り込むボリュームがありますので自前で作ることはあまりオススメしません。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2007-03-06 22:25
言語が書かれていないですが、Java会議室に投稿されているのでサーブレットと仮定して。

サーブレットにはWEBアプリケーションの開始と終了をハンドルできる部分があります。
サーブレットフィルタとサーブレットです。
StrutsならPlugInっていうのもあります。

そこの初期化メソッドで、DBCPのインスタンス生成、
破棄メソッドでDBCPの解放を行えばよいです。
生成したDBCPはサーブレットコンテキストに格納して、
サーブレット内でコンテキスト経由で取得すれば利用できます。

DBCP経由で取得したコネクションに対しても解放は必要です。
内部的には解放されずにプールに対する返却が行われますが、
インターフェイス上ではcloseメソッドの呼び出しが必須です。

コネクションの取得・解放は、SQLの実行前後に書くことになりますし、
実際の取得、解放処理はアプリケーションの開始・終了に行われます。
Ierさんが想定する1と2の組み合わせになります。

スキルアップ/キャリアアップ(JOB@IT)