コンテンツ
目次
一般
Apache Tomcat®のバージョン間での移行またはアップグレードに適用される一般的な考慮事項については、まず全般的な移行ガイドページをお読みください。
5.5.xから6.0.xへの移行
このセクションでは、アップグレード時に後方互換性の問題を引き起こす可能性のある、5.5.xと6.0.x間の既知のすべての変更をリストします。
Java 5が必要
Apache Tomcat 6.0.xはJava 5以降を必要とします。Apache Tomcat 5.5.xは互換性パッケージを使用してJRE 1.4で実行可能でした。
ディレクトリ構造の変更
共有ライブラリ
Apache Tomcat 5.5.xは、デフォルトでcommon
、shared
、server
のサブディレクトリを含むディレクトリ構造を使用していました。Apache Tomcat 6.0.xは単一のlib
ディレクトリを使用します。
lib
ディレクトリは、common/lib
とcommon/classes
の両方のサブディレクトリを直接置き換えるもので、JARと展開されたクラス階層の両方を受け入れます。
conf/catalina.properties
ファイルを使用して、ディレクトリ構造を変更できます。
バージョン6.0.21以降、Apache Tomcatは$CATALINA_BASE/lib
と$CATALINA_HOME/lib
の両方のディレクトリをサポートします。$CATALINA_BASE/lib
内のjarとクラスはクラスパス上でより早く読み込まれるため、優先されます。
エンドースド・ライブラリ
$CATALINA_HOME/common/endorsed
サブディレクトリは$CATALINA_HOME/endorsed
ディレクトリに置き換えられました。このディレクトリはデフォルトでは存在しません。
JAVA_ENDORSED_DIRS
環境変数は、setenv.bat
|sh
スクリプトとともに使用して、このディレクトリの代替場所を指定できます。
デフォルトのWebアプリケーション
ManagerおよびHost ManagerのWebアプリケーションは、もはやserver/webapps
にはありません。すべてのデフォルトWebアプリケーションは、webapps
ディレクトリに配置されるようになりました。
HostのdeployOnStartup
またはautoDeploy
オプションが有効になっている場合、Tomcatが初めて起動するときに、managerおよびhost-managerアプリケーションのMETA-INF/context.xml
ファイルは$CATALINA_BASE/conf/[engine_name]/[host_name]
ディレクトリにコピーされます。
共有Webホスティング環境を使用している場合、Webアプリケーション内でcontext.xmlの使用を禁止すること(Host要素のdeployXML
属性を使用)を推奨します。(このオプションはTomcat 5.5でも利用可能です)。
クラスローディングの変更
ディレクトリ構造の変更の結果、common、shared、serverのクラスローダーは1つに統合されました。実質的に、sharedおよびserverのクラスローダーはデフォルトでは設定されず、commonクラスローダーは前述の通りlib
ディレクトリにマップされます。
この挙動と構造は、conf/catalina.properties
ファイルを使用して変更できます。
内部ロギングAPIパッケージ名の変更
Apache Tomcat 5.5.xは、内部ロギングにApache Commons Loggingライブラリに依存していました。Apache Tomcat 6.0.x以降は、このライブラリを直接使用せず、そのプライベートコピーを使用します。クラスはorg.apache.juli.logging
パッケージにあります。
この変更の背後にある理由は、アプリケーションのロギングをコンテナから可能な限り独立させつつ、統一できる可能性を保持するためです。
デフォルトでは、Tomcatにはjava.util.logging
へのロギングを実行するために必要なApache Commons Loggingクラスのサブセットのみが含まれています。Log4J、またはフルApache Commons Loggingライブラリによってサポートされるその他のロギングフレームワークにTomcatのロギングをリダイレクトするように設定したい場合、TomcatのJARの1つをフル実装版に置き換える必要があります。このJARは追加コンポーネントとして利用可能です。詳細については、ロギングと追加コンポーネントのドキュメントを参照してください。
commons-logging.jar
Apache TomcatがApache Commons Loggingライブラリを直接使用しなくなったため、commons-logging-api.jar
ライブラリはWebアプリケーション向けに提供されなくなりました。Apache Commons Loggingを使用するWebアプリケーションは、そのライブラリの独自のコピーを提供する必要があります。他のJARと同様に、WEB-INF/lib
ディレクトリに入れることを推奨します。
Connector上のSSLEnabled属性
すべてのSSLが有効なコネクタでは、暗号化を有効にするためにSSLEnabled
フラグをtrue
に設定する必要があります。Tomcatは、プロキシされたシナリオで最大限の柔軟性を提供するため、トランスポートが暗号化されるべきかどうかを決定するためにプロトコルやその他のパラメータを使用することに依存しなくなりました。
コネクタスレッドプール
Connectorのスレッドプールが簡素化されました。現在、指定された最大サイズまで拡大しますが、縮小することはありません。スレッドプールを縮小するための属性(例:minSpareThreads
)は無視されます。需要に応じて拡大・縮小するスレッドプールが必要な場合は、Executorを設定し、次にConnectorがそれを使用するように設定する必要があります。
クラスタリング設定の変更
クラスタリング設定がリファクタリングされました。詳細については、クラスタリングのドキュメントを参照してください。
6.0.xのアップグレード
Apache TomcatのインスタンスをTomcat 6のあるバージョンから別のバージョンにアップグレードする場合、特に$CATALINA_HOMEと$CATALINA_BASEに異なる場所を使用している場合、新しい属性やデフォルト値の変更など、設定ファイルの変更がアップグレードの一部として適用されていることを確認する必要があります。これらの変更を特定するために、以下のフォームを使用して、Tomcat 6の異なるバージョンの設定ファイル間の差異を表示できます。
Tomcat 6.0.xの設定ファイルの差異
以下のボックスから設定ファイル、古いバージョン、新しいバージョンを選択し、「View differences」をクリックして差異を表示します。差異は新しいタブ/ウィンドウに表示されます。
また、以下のようなSubversionコマンドも使用できます(すべて1行で)。
svn diff
--old=http://svn.apache.org/repos/asf/tomcat/archive/tc6.0.x/tags/TOMCAT_6_0_36/conf/
--new=http://svn.apache.org/repos/asf/tomcat/archive/tc6.0.x/tags/TOMCAT_6_0_37/conf/