- PR -

TOMCAT5 + PostgreSQL でのJNDI 設定

1
投稿者投稿内容
りぐ
会議室デビュー日: 2004/03/29
投稿数: 3
投稿日時: 2004-09-02 20:36
TOMCAT5.0.25 + PostgreSQL7.4.5 で開発をしていますが、JNDI の設定がどうしてもうまくいきません。
同じドライバ名とurl を使用したJDBC での接続は問題なくできています。

発生するエラーは次の通りです。
---------------------------------------------------------------------------
org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:780)
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:540)
---------------------------------------------------------------------------

 $CATALINA_HOME/common/lib には、Jakarta-Commons DBCP、Collections、Pool の各jarファイルが置いてあります。Webアプリケーションの、WEB-INF/lib の下にも
置いてあります。PostgreSQL のjdbc ドライバ用jarファイルも同様です。

JDKは、1.4.2_05 です。
以下に、各設定ファイルの内容を記述します。WebAlliance が、Webアプリケーション名です。

■server.xml(関係ある部分だけ)
<Context path="/WebAlliance" reloadable="true" docBase="E:\Tomcat5\webapps\weballiance" workDir="E:\Tomcat5\webapps\weballiance\work" crossContext="true" >
<Resource name="jdbc/WebAlliance" auth="container" type="javax.sql.DataSource" />
<ResourceParams name="jdbc/WebAlliance">
<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.1.181:5432/WebAlliance</value>
</parameter>
<parameter>
<name>username</name>
<value>postgres</value>
</parameter>
<parameter>
<name>password</name>
<value>postgres</value>
</parameter>
</ResourceParams>
</Context>

■web.xml
<?xml version="1.0" ?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-app_2_3.xsd"
version="2.3">

<servlet>
:
</servlet>
<servlet-mapping>
:
</servlet-mapping>
<filter>
:
</filter>
<filter-mapping>
:
</filter-mapping>
<welcome-file-list>
:
</welcome-file-list>
<taglib>
:
</taglib>
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/WebAlliance</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>container</res-auth>
</resource-ref>
</web-app>

■呼び出し部分
DataSource dataSource = (DataSource)context.lookup("java:comp/env/jdbc/WebAlliance");
Connection connection = dataSource.getConnection();
↑ここでエラーが出ます。

 何か、心当たりのある方、ご教授ください。よろしくおねがいします。
1

スキルアップ/キャリアアップ(JOB@IT)