毎回なぜかつまづいていた 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 とかで複数の箇所で記述してしまうとうまく動かないのかも。