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"で設定したパスにソースファイルが作成されている。
さて肝心のソースを眺めてみると・・・げ、ログ出力ないのか。
これはまた面倒な・・・。