top / index / prev / next / target / source
日記形式でつづる いがぴょんコラム ウェブページです。
フリーなDBコネクションプール実装のお勧めを探索→PoolManに落ち着きそうです
Windows XP 上で 旧バージョンの Palm HotSyncが超CPU消費をしてしまう不具合に耐えかねて、ついに Palm Desktop 4.0.1 へとバージョンアップしてしまいました。(乱暴な…) でもなんとなくちゃんと動作しています。これで CPU振り切りバグに関しては 煩わされずに済みそうです。なんたって Palm Desktop と HotSync は 私にとってとっても重要なソフトウェアなんですもの。
コネクションプールで何か実装が必要なので、手始めに かる~く Avalon Excalibur: Pool実装 を眺めました。でも ちょっとDBコネクションプールとしては使い物になりそうにありませんでした。
次に Jakarta Commons の DBCPを見てみました。が 現状 CVSのみでの提供なので、これはスキップ。
…、素人目には Jakarta系は まだまだ使うことが出来る状態とは 思えません。さて、羽生さんが何かの記事で 『コネクションプールは このライブラリがお勧め』 と書かれていたように記憶しますが、それは一体どこだったでしょうか? # 暗に聞いているのであった… (笑)
2001/12/11 スガさんからツッコミスガです。羽生さんでなくて済みませんが(笑)WEB+DB PRESS Vol.5 の記事で羽生さんが PoolMan を紹介されていますね。
PoolMan Object Pooling Library and JDBC Driver http://www.codestudio.com/
PoolMan on SourceForge : LGPL http://sourceforge.net/projects/poolman/
色々な人が挙げられているのでこれではないかと。私は使ったことがありませんけれど。
2001/12/11 羽生章洋さんからツッコミ羽生@熱があって沈没中(皆さんくれぐれもお気をつけて)です(^^;# そんな私を万博公園に連れ出した我が家の姫ってば(T_T)> 羽生さんでなくて済みませんが(笑)フォローありがとうございますぅ~(^^)> WEB+DB PRESS Vol.5 の記事で羽生さんが PoolMan を紹介されていますね。> 色々な人が挙げられているのでこれではないかと。とりあえず、私もあちこちでお薦めされた&色々と試してみたので、まずはこれで大丈夫だと思います。# OracleのJDBCドライバにも標準でついてますよね、って話ではないんでしょうね(^^;さて、Avalon系といえば、最近のマイブ~ムはC2(Cocoon2)です。いや~、面白い!つぅか楽!便利!最高! 私のように技術3流手抜き1流の人間のためにあるような仕組みです(^^;> # まだ八割方未読です > Vol.5> # というか現在山のような積読が(苦笑)最近積読を随分と解消しました(^^)v 東京・大阪を毎週往復するので移動時間の間に随分と消化しましたです、はい。というわけで、沈没します。。。でわでわ。。。
ここからいがぴょんみなさま 早速のツッコミありがとうございます。さっそく PoolMan 2.0.4 を試してみます。見てみたら現時点で 13,654ダウンロードもありました。すごい数だなぁ。
Cocoon2は 羽生さんのことだから きっとハマっているに違いないと思っておりました。やはりハマってましたね (笑)
12/11 11:20頃 PoolMan少し試し中… Web+DB Press Vol.3は 買ったはずなのですが、見つけることが出来ず (苦笑)
JNDI無しで動作するのかどうか試し中。
最低限必要なJARは、jta.jar, poolman.jar である模様。
必要な変更は下記
元 DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver()); 後 DriverManager.registerDriver(new com.codestudio.sql.PoolMan());
元 Connection conn=DriverManager.getConnection(DNS,USER,PASS); 後 Connection conn=DriverManager.getConnection("jdbc:poolman");
とりあえずの poolman.xml 設定は下記。
<?xml version="1.0" encoding="UTF-8"?><poolman>
<management-mode>local</management-mode>
<datasource>
<dbname>iga</dbname>
<jndiName>jndi-iga</jndiName>
<driver>oracle.jdbc.driver.OracleDriver</driver>
<url>jdbc:oracle:thin:@localhost:1521:orcl</url>
<username>iga</username>
<password>iga</password>
<nativeResults>true</nativeResults>
<maximumSoft>false</maximumSoft>
<logFile>poolman.log</logFile>
<debugging>true</debugging>
</datasource></poolman>
デフォルト設定に加えて、試しに nativeResults および maximumSoft を追加してみました。ただし、現状 ずぼずぼINSERTを行うと OutOfMemoryError が発生して困っています。タスクマネージャを見ているとじわじわメモリ使用量が増えていって、ついに破綻して OutOfMemoryErrorが発生してしまいます。コネクションプールを使わずに生で利用していたらこんなこと無いのですが…。さて 原因は気長に調査するしか無いかしら…。ちとつまずいています。
2001/12/11 12:53 羽生章洋さんからツッコミ羽生@全然風邪が治らない、です。> Web+DB Press Vol.3は 買ったはずなのですが、見つけることが出来ず えとえと、Vol.5です(^^; 尚、Vol.3には、FlashをWebクライアントにするという記事を書いています(で、これはもうすぐ結構面白いものを公開できる予定です)。# 宣伝宣伝(^^;
ここからいがぴょんああっ、3と5を見間違え (苦笑)。Vol.5は 会社の先輩 ヒトミさんが購入しただけでしたから、私も これを機に買ってみようと思いますです。JDBC周りの良い記事がたくさん載っていますね。これは買いだなぁ。