Jakarta Tomcatのグローバルなデータベース・リソース

 Jakarta Tomcatで、複数のWebアプリケーションが同じデータベース・リソースを参照するときには、 GlobalNamingResources要素の中にリソースの定義を移して、 どのWebアプリケーションからも参照できるようにすると便利です。 その手順は以下の通りです。

  1. 今までContext要素の中に個別のWebアプリケーションごとに定義していた、 Resource要素とResourceParams要素をGlobalNamingResources要素にそのまま移します。

      <GlobalNamingResources>
        <Resource name="jdbc/mudb" auth="SERVLET" type="javax.sql.DataSource"/>
        <ResourceParams name="jdbc/mudb">
          <parameter><name>username</name><value>urano</value></parameter>
          <parameter><name>password</name><value>urano398</value></parameter>
          <parameter><name>driverClassName</name>
            <value>org.gjt.mm.mysql.Driver</value></parameter>
          <parameter><name>url</name>
            <value>jdbc:mysql://localhost/udb</value></parameter>
        </ResourceParams>
    
        <Resource name="jdbc/pmudb" auth="Container" type="javax.sql.DataSource"/>
        <ResourceParams name="jdbc/pmudb">
          <parameter>
            <name>factory</name>
            <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
          </parameter>
          <parameter><name>maxActive</name><value>50</value></parameter>
          <parameter><name>maxIdle</name><value>20</value></parameter>
          <parameter><name>maxWait</name><value>20000</value></parameter>
    
          <parameter><name>username</name><value>urano</value></parameter>
          <parameter><name>password</name><value>urano398</value></parameter>
          <parameter><name>driverClassName</name>
            <value>org.gjt.mm.mysql.Driver</value></parameter>
          <parameter><name>url</name>
            <value>jdbc:mysql://localhost/udb</value></parameter>
          <parameter><name>removeAbandoned</name>
            <value>true</value></parameter>
          <parameter><name>removeAbandonedTimeout</name>
            <value>600</value></parameter>
          <parameter><name>logAbandoned</name>
            <value>true</value></parameter>
        </ResourceParams>
      </GlobalNamingResources>
    

  2. 個々のWebアプリケーションでは、Resource要素とResourceParams要素を削除した代わりに、 ResourceLink要素を書き加えます。

      <Context path="/app01" docBase="C:/usr/javadeploy/app01" debug="0"
       reloadable="true">
        <Logger className="org.apache.catalina.logger.FileLogger"
         prefix="app01." suffix=".txt" timestamp="true"/>
        <ResourceLink name="jdbc/mudb" global="jdbc/mudb" type="javax.sql.DataSource"/>
      </Context>
    

    ResourceLink要素のname属性の値がこのアプリケーションコンテキストにおけるリソースの名前で、 global属性の値が参照するグローバル・リソースの名前です。 どちらもjava:comp/env名前空間からの相対修飾で指定します。 type属性の値は通常javax.sql.DataSourceでよいです。

JDBC and Swing Top

(first uploaded 2003/09/28 last updated 2003/09/28, URANO398)

Gポイントポイ活 Amazon Yahoo 楽天

無料ホームページ 楽天モバイル[UNLIMITが今なら1円] 海外格安航空券 海外旅行保険が無料!