ウィキっとく?

JNDIデータソース設定

最終更新:

wikittoku

- view
管理者のみ編集可

Tomcat JNDIデータソース設定

  • Tomcatのバージョンによって記述が異なる。よく忘れるのでメモ

Tomcat5.5

JDBC.jarの配置

  • Tomcat/common/libに配置
    • [context名]/WEB-INF/libに置いたら動かなかった。できたら全部固めたwarを入れるだけで済むんだけどなぁ。方法を探し中。

context.xmlの作成(PostgreSQLの場合)

  • [context名]/META-INFに配置
    各要素は必要に応じて追加削除する。
    コネクションの回収漏れ対策で removeAbandoned 入れてるが、オーバーヘッドが大きいという記事を発見。 -- http://www.atmarkit.co.jp/fjava/rensai4/troublehacks07_3.html
    <?xml version="1.0" encoding="UTF-8"?>
    <Context path="/MyApp"
             docBase="MyApp"
             crossContext="true"
             reloadable="true"
             debug="1">
    <Resource name="jdbc/postgres"
              auth="Container"
              type="javax.sql.DataSource"
              driverClassName="org.postgresql.Driver"
              url="jdbc:postgresql://127.0.0.1:5432/MyAppDb"
              username="MYUSERNAME"
              password="MYPASSWORD"
              maxActive="20"
              maxIdle="10"
              maxWait="1"
              removeAbandoned="true"
              removeAbandonedTimeout="30"
              logAbandoned="true" />
    </Context>
    
  • context.xmlはいくつか置き場所があるらしい。 -- http://tomcat.apache.org/tomcat-5.5-doc/config/context.html
    • Tomcat/conf/context.xml
    • Tomcat/conf/Catalina/localhost/context.xml
    • Tomcat/conf/Catalina/localhost/[context名].xml
    • Tomcat/webapps/[context名]/META-INF/context.xml
      • 私はwarに入れてしまえるのが良いので /[context名]/META-INF/context.xml にした。

[context名]/WEB-INF/web.xmlに以下を追記

<resource-ref>
	<description>PostgreSQL Datasource</description>
	<res-ref-name>jdbc/postgres</res-ref-name>
	<res-type>javax.sql.DataSource</res-type>
	<res-auth>Container</res-auth>
</resource-ref>

コメント

  • 間違い、ご意見などありましたらよろしくお願いします。
    名前:
    コメント:
目安箱バナー