Tomcatインストール - Javaサーブレット・JSPを処理するアプリケーションサーバ

◆Tomcatのインストール
 ・そこらじゅうに情報が転がってるので省略

◆Apacheとの連携
 ・Tomcatはデフォルトでは、ポート8080でリクエストを受け付ける為、Tomcatへのアクセスは http://example.com:8080/sample/ とかやらないとダメだけど、
   mod_jk2などのコネクタを利用してApacheと連携すれば、通常のポート80で接続しても Apacheが Tomcatへの処理要求のみ Tomcatへの投げてくれる。

 ・今のところ外部に公開の予定もないので省略

◆JDBCドライバのインストール(PostgreSQLの場合)
 ・JDBCドライバを http://jdbc.postgresql.org/ からダウンロードする。
 ・ダウンロードしたファイルを(pgXXXdbc3.jar)を %CATALINA_HOME%/common/lib に配置する。

◆コネクションプーリングの設定
 ・コネクションプールとは、時間のかかるDB接続を短縮する為に、DB接続を最初から一定数確保しておいて
  要求がある度に確保(プール)しておいた接続を使い回すしくみ。
  (規模の大きいアプリなどには必須となる設定だと思いまふ。。)

 ・TOMCATではコネクションプーリングの機能が標準で提供されています。
  で、コネクションプーリングを利用するには、以下の2つのファイルを編集する必要がある。

1%CATALINA_HOME%/conf/Catalina/localhost/アプリケーション名.xml
2アプリケーションルート/WEB-INF/web.xml

  ※(1)のファイルはダウンロードしたTomcatのドキュメントには %CATALINA_HOME%/conf/server.xml を編集するように書かれていたが
   うまくいかなかったので、%CATALINA_HOME%/conf/近辺を徘徊してたらこのファイルを発見。で、編集したらうまくいった。
   (別のアプリから利用する事がある場合は、やっぱりserver.xmlに記述しないとダメだけど。。)

 (1) %CATALINA_HOME%/conf/Catalina/localhost/アプリケーション名.xmlの編集(赤字部分を追加)

<?xml version='1.0' encoding='utf-8'?>
<Context path="/アプリケーション名" docBase="アプリケーションPATH"
            debug="0" reloadable="false" crossContext="true">

  <Resource name="jdbc/TestDB" auth="container"
             type="javax.sql.DataSource" debug="1" />

  <ResourceParams name="jdbc/TestDB">
    <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://localhost/TestDB</value>
    </parameter>
    <parameter>
      <name>username</name>
      <value>username</value>
    </parameter>
    <parameter>
      <name>password</name>
      <value>password</value>
    </parameter>
    <parameter>
      <name>maxWait</name>
      <value>10000</value>
    </parameter>
    <parameter>
      <name>maxActive</name>
      <value>100</value>
    </parameter>
    <parameter>
      <name>maxIdle</name>
      <value>30</value>
    </parameter>
  </ResourceParams>
</Context>

 ◆パラメータ説明

パラメータ説明
nameデータソース名
driverClassNameJDBCドライバ名
usernameDBユーザ名
passwordDBパスワード
urlDBへの接続文字列
maxActiveプール内の最大接続数
maxWait接続に空きが無い場合の最大持ち時間(ミリ秒)
maxIdle待機時に持続する接続数
validationQuery接続検証用のクエリ

 (2) アプリケーションルート/WEB-INF/web.xml の編集(赤字部分を追加)

<?xml version="1.0" encoding="ISO-8859-1"?>
<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
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
    version="2.4">
   ・
     中略
   ・
    <resource-ref>
        <description>DB Connection</description>
        <res-ref-name>jdbc/TestDB</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
    </resource-ref> 
</web-app>

トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS