I/O機能の拡張
Tomcat 6.0.xでは、「Apache Portable Runtime(APR)」や「New I/O API」を取り込んだことでI/O機能が大幅に拡張されている。
まず、ブロック無しでリクエストを処理できるようになり、これによって「Comet」を使用することが可能になっている。Cometとは、サーバからクライアントに対してプッシュ式にデータを送信する技術であり、ブラウザへのリアルタイムのデータ送信を低負荷で実現できるとしいう点で注目されている。
また、APRを使用している環境では非同期のデータ書き出しによる巨大なファイルの送信ができるようになった。これはorg.apache.tomcat.sendfileパッケージにあるクラスによってサポートされる。
Java SE 5に依存する
アノテーションなどの機能を利用するため、J2SE 5.0以上が必須となった。5.5.xとは違ってJRE 1.4互換パッケージは利用できないので注意が必要だ。
暗号化通信のためにSSLEnabledフラグを使用
Tomcat 6.0.x以降では、コネクタにおいてSSLを使用する場合、SSLEnabledフラグをtrueに設定しておく必要がある。また、暗号化するかどうかを指定するのにそれ以外のパラメータを設定する必要はなくなった。
ディレクトリ構成
デフォルトのディレクトリ構成が変更され、common、shared、serverの各ディレクトリが全てlibディレクトリに統合された。このディレクトリ構成を変更する場合にはconf/catalina.propertiesファイルを書き換えなければならない。また、この変更によってクラスローダも修正され、必要なJARおよびclassファイルはlibディレクトリに配置するように改変された。その他、全てのデフォルトのWebアプリケーションがwebappsディレクトリに配置されるように修正が加えられている。
ロギングAPIのパッケージ名
Tomcat 6.0.xではCommons-logging APIを使用しているが、そのパッケージ名がorg.apache.juli.loggingに変更された。
クラスタリングの設定
クラスタリングの設定がリファクタリングされ、大幅に変更されている。クラスタリングを使用している場合には付属のドキュメントをよく読んで、新しい内容に修正する必要がある。
その他の変更点
上記以外にも、次のような修正が加えられている。
- HTTPコネクタのメモリ使用量を低減
- AJPコネクタにpacketSizeオプションを追加
- AprLifecycleListenerにSSLEngine属性を追加
- Dynamic MBeanを使用するようにモジュールを修正
- 多くのコネクタにkeepAliveTimeout属性を追加