これまで eclipse で製造していたWebアプリケーションを、Profiler にかけるため、NetBeans に必死で移行。その結果、DataSource でコケる。
javax.servlet.ServletException: Cannot create JDBC driver of class '' for connect URL 'null'
やっぱり設定をコピペするだけでは、動いてくれないらしい。ううう。
原因は Tomcat にあり。これまで Tomcat5.0 で開発していたのだけれども、NetBeans5.0 にバンドルされていたのは Tomcat5.5 だった。「0.5くらいなら大丈夫だべ」と思って強気で攻めたんだけど、だいぶ違うみたいでして。トム猫さん、頼むよ。
具体的には、JNDI リソースの指定方法が変わった。設定は、<ResourceParams> タグを使わず、<Resource> タグの属性として指定しなければいけなくなったようだ。
以下、設定のサンプル。
まずは、Tomcat5.0系の場合。(Postgresql に接続する場合)
<Resource name="jdbc/deftrash" auth="Container" type="javax.sql.DataSource"/> <ResourceParams name="jdbc/deftrash"> <parameter> <name>factory</name> <value>org.apache.commons.dbcp.BasicDataSourceFactory</value> </parameter> <parameter> <name>driverClassName</name> <value>org.postgresql.Driver</value> </parameter> <parameter> <name>url</name> <value>jdbc:postgresql://192.168.0.10:5432/deftrash</value> </parameter> <parameter> <name>username</name> <value>postgres</value> </parameter> <parameter> <name>password</name> <value>password</value> </parameter> <parameter> <name>maxActive</name> <value>10</value> </parameter> <parameter> <name>maxIdle</name> <value>10</value> </parameter> <parameter> <name>maxWait</name> <value>180000</value> </parameter> <parameter> <name>removeAbandoned</name> <value>true</value> </parameter> <parameter> <name>removeAbandonedTimeout</name> <value>60</value> </parameter> <parameter> <name>logAbandoned</name> <value>true</value> </parameter> </ResourceParams>
これを Tomcat5.5系に移植する場合は、以下のようにしなければならない。
<Resource name="jdbc/deftrash" auth="Container" type="javax.sql.DataSource" factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory" driverClassName="org.postgresql.Driver" url="jdbc:postgresql://192.168.0.10:5432/deftrash" username="postgres" password="password" maxActive="10" maxIdle="10" maxWait="180000" removeAbandoned="true" removeAbandonedTimeout="60" logAbandoned="true" />
ソースとしてはスッキリするけれども、気持ちはスッキリしない。どうして変えちゃうかなあ。地味すぎるし。これで数時間ほど無為に過ごしてしまったので、ちょっとご機嫌ナナメです。うーん。
このエントリーのトラックバックURL
http://www.deftrash.com/admin/mt4/mt-tb.cgi/316