org.apache.tomcat.dbcp


どーもOracleに接続しに行こうとすると、怒られる「時がある」。

java.sql.SQLException: I/O例外です。: The Network Adapter could not establish the connection
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)

毎回ではないのがさらに分からんが。
ぐぐってもでてこないんだよなー。


で、原因を追いかけるのにとりあえずソースを追うと、org.apache.tomcat.dbcpというパッケージがでてくる。

at org.apache.tomcat.dbcp.dbcp.DriverConnectionFactory.createConnection(DriverConnectionFactory.java:37)
at org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory.makeObject(PoolableConnectionFactory.java:290)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.validateConnectionFactory(BasicDataSource.java:877)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:851)
at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540)


これがどこを探してもソースがないわけだが・・・どうやら自分で作らないといけないようだ。
http://matobaa.tdiary.net/20060227.html#p01


まず該当のTomcatのsrcをダウンロードする。
で、"jakarta-tomcat-5"直下でantを実行。

ant build-depends
(略)
downloadgz:
      [get] Getting: http://archive.apache.org/dist/jakarta/commons/collections/source/commons-collections-3.1-src.tar.gz
      [get] Error getting http://archive.apache.org/dist/jakarta/commons/collections/source/commons-collections-3.1-src.tar.gz to \usr\share\java\file.tar.gz

BUILD FAILED
D:\tools\tomcat5.5.9\jakarta-tomcat-5.5.9-src\jakarta-tomcat-5.5.9-src\jakarta-tomcat-5\build.xml:63
0: The following error occurred while executing this line:
D:\tools\tomcat5.5.9\jakarta-tomcat-5.5.9-src\jakarta-tomcat-5.5.9-src\jakarta-tomcat-5\build.xml:19
00: java.net.UnknownHostException: archive.apache.org


・・・あれ?


build.properties.defaultにproxyの設定があるので書いてみたけれど、状況は変わらず。
仕方がないので手動でライブラリを3つダウンロード・解凍してしまい、ant callの個所はコメントアウトする。
それから"base.path"を自分の環境に合わせて書き直しておく。


再実行。

downloadzip:
      [get] Getting: http://sunsite.informatik.rwth-aachen.de/eclipse/downloads/drops/R-3.0.1-200409161125/eclipse-JDT-3.0.1.zip
      [get] Error getting http://sunsite.informatik.rwth-aachen.de/eclipse/downloads/drops/R-3.0.1-200409161125/eclipse-JDT-3.0.1.zip to D:\work\usr\share\java\file.zip


またか・・・しかもこのファイル存在してないし。
困ったなぁと思ってbuild.xmlを見返すと、こんなtargetがある。

<target name="build-tomcat-dbcp">


・・・こっちかな?
と実行。






正解!
"base.path"で設定したパスにソースファイルが作成されている。


さて肝心のソースを眺めてみると・・・げ、ログ出力ないのか。
これはまた面倒な・・・。