MacとJavaと映画と


最近のエントリー


最近のレスポンス
Re: ホームシアター建設記 - TVボード会計
持ってた?いやいや、家族ですから。 フツーに一緒に引っ越しましたよ!!!

Re: ホームシアター建設記 - TVボード会計
お、チンパソンマンマなつかしー! てか、まだ持ってたんだねw

MacOSX Leopard 10.5.1でsyslogdやMail.appが暴走する現象の解決方法
先日MacBook AirのBTOモデルが通常モデルの1日遅...

LeopardのMailのトラブルについて
 昨秋、Leopard発売を待ってMac...

Re: ホームシアター建設記 - BRAVIA購入!
ネットワークTV、どうなんでしょうねー。 私は最近WOWOWばっかみてます。
2月 2008
      1  2 
 3  4  5  6  7  8  9 
 10  11  12  13  14  15  16 
 17  18  19  20  21  22  23 
 24  25  26  27  28  29  
1  |  今日  |  3





はてなブックマーク数

あわせて読みたい


follow yusukey at http://twitter.com


DBCP は Apache Jakarta プロジェクト下で開発されているコネクションプールを管理してくれるライブラリです。
Jakarta Commons DBCP

Tomcat にも組み込まれていて、context.xml のコネクションプールの設定項目はまさに DBCP のものと一緒です。
一時期sandbox遺棄されていた気がしますが、今はかろうじてメンテナンスされているようです。

で、今回仕事でコンテナなしに、JUnit 内とかからでも手軽にコネクションプールを扱いたかったので触ってみました。

といっても、シンプルなもので、API ドキュメントも見ずに IDEのコード補完だけで使うことが出来ました。
キモは BasicDataSourceFactory に Properties を渡すことだけ。
これで DataSource のインスタンスが得られます。

Properties props = new Properties();
props.load(DBUtil.class.getResourceAsStream("/dbcp.properties"));
DataSource ds = BasicDataSourceFactory.createDataSource(props);

createDataSource() は throws Exception と定義されているのが個人的にはちょっと気持悪いです。

dbcp.properties の内容はこんな感じ
maxActive=100
maxIdle=30
maxWait=10000
username=user
password=password
validationQuery=select count(*) from なんかテーブル
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost/mydb?useUnicode=true&characterEncoding=UTF8&autoReconnect=true

autoReconnect=true と validationQuery を設定しておかないとしばらく放置してから動かしたとき、コネクションが切れてるよと SQLException が発生します。

あちこちでコネクションを引き回したくないので、同一スレッド内から呼び出した場合は同じコネクションが使われることを保証する、WebLogic で言うところの pinned-to-thread的な機能がないか探しましたが、残念ながらそのような設定項目はないようです。
#ソースコードは未確認

タグ :



コメント追加

タイトル
本文
HTML : b, i, blockquote, br, p, pre, a href="", ul, ol, li
名前
E-mail
Webサイト
保存しますか? はい  いいえ 

E-mailは公開されません, このエントリーの新規コメント通知が必要なら記入します。(解除可能)

トラックバックURL http://yusuke.homeip.net/diary/.action?entry=1203012169566