Tomcat 5.x + JNDI の基本設定メモ

毎回なぜかつまづいていた JNDI の設定が今回はすんなりいったのでメモ。
 
– foo という Web アプリケーション(ex. “TOMCAT_HOME/webapps/foo”)の中に, jdbc/privateDB という JNDI リソース名を, MySQL 公式で手に入る JDBC コネクタを使ってローカルの MySQL サーバの, foo_db というデータベースに, ユーザ user_foo, パスワード booboo で接続するリソースを割り当てるには, META-INF/context.xml をたとえば次のように設定する。

<Context path=”/foo” docBase=”foo”
                        debug=”5″ reloadable=”true” crossContext=”true”>
        <Resource name=”jdbc/privateDB” auth=”Container”
        type=”javax.sql.DataSource” driverClassName=”com.mysql.jdbc.Driver”
        url=”jdbc:mysql://localhost:3306/foo_db”
        username=”user_foo” password=”booboo” maxActive=”20″ maxIdle=”10″ maxWait=”-1″/>
</Context>

このとき server.xml では一切このリソースについて触れていない。server.xml とか conf/Catalina/localhost/foo.xml とかで複数の箇所で記述してしまうとうまく動かないのかも。