>>206
>コネクション死んだときにただのclose()だとプールに戻るだけで延々死んだ
>接続を繰り返し渡されるので鬱になった。

そんなことはない。
DBCPはObjectPool#borrowObject()とObjectPool#returnObject()時に
生きているかチェックできる。

さらに、別スレッドでpooling中のものが生きているかもチェックできる。

ただし、DBCPの開始時に初期pool数を設定できないのは激しく鬱。