Tomcatのサーバとアプリケーションの設定(バージョン5.5以降)

Tomcatの「server.xml」などのアプリケーションの設定メモです。

Webアプリケーションの設定

個々のWebアプリケーションの設定は、Tomcat 4.0以前からの伝統で、 今でもserver.xmlの中に記述することもできます。 しかし現在は $CATALINA_HOME/conf/Catalina/localhost の下に、 アプリケーションごとに設定ファイル(.xml)を書いて配置する方が管理が楽だと思います。
Tomcat 5.5では、このディレクトリに既に 「host-manager.xml」「manager.xml」という2つのファイルが置いてあるので、 これと同様に自分でファイルを作って配置します。
Tomcat 6.0では、$CATALINA_HOME/confはありますが、その下にCatalina/localhostディレクトリがありません。 これは、自分でその名前のディレクトリを作って、5.5と同様の設定ファイルを置けばOKです。
以下は、「shitenapp01」というWebアプリケーションの設定ファイル、「shitenapp01.xml」の例です。

<Context path="shitenapp01" docBase="C:/usr2/java/ec31-projects/shitenapp01"
         reloadable="true" crossContext="false" debug="0">

  <Valve className="org.apache.catalina.valves.AccessLogValve"
      directory="logs" prefix="shitenapp01_access." suffix=".txt" pattern="common"/>

  <Resource name="jdbc/sadb" auth="Container" type="javax.sql.DataSource"
      driverClassName="org.hsqldb.jdbcDriver"
      url="jdbc:hsqldb:hsql://localhost/"
      factory="org.apache.tomcat.dbcp.dbcp.BasicDataSourceFactory"
      username="sa" password=""
      maxWait="1000" maxActive="30" maxIdle="10"
      removeAbandoned="true" removeAbandonedTimeout="60" logAbandoned="true" />
</Context>

AccessLogValveは、アプリケーションのアクセスログを取ってくれます。 それで問題はResource要素ですが、 この要素の書き方は5.0以前と5.5以降で全く違います。 5.0から5.5に移行する場合、必ず書き直さないといけません。
上記の例はRDBMSとしてhsqldbを使っています(In-ProcessモードではなくてNetwork Serverモード)。 RDBMSのJDBCドライバのjarファイル(hsqldbならhsqldb.jar)は、 別途入手して $CATALINA_HOME/common/lib に配置する必要があります。 factoryでJakarta Commons DBCPのものを指定することで接続ぷーリングを有効にしていますが、 Commons DBCPのjarファイルはTomcatが内蔵しているので、別途入手は不要です。 maxWait以下6つの属性はCommons DBCP由来のものなので、 詳しくはDBCPのホームページで説明が読めます。

Server Side Java Index Top

(first uploaded 2007/01/06 last updated 2007/07/08, KQ TAURA-URANO398)

テレワークならECナビ Yahoo 楽天 LINEがデータ消費ゼロで月額500円〜!
無料ホームページ 無料のクレジットカード 海外格安航空券 海外旅行保険が無料! 海外ホテル