|
Apache Tomcat
Download
Documentation
Problems?
Get Involved
Media
Misc
|
| General |
|
Please read general Migration Guide page first,
for common considerations that apply to migration or upgrade between versions
of Apache Tomcat.
|
|
|
Migrating from 5.5.x to 6.0.x |
|
This section lists all the known changes between 5.5.x and 6.0.x which may
cause backwards compatibility problems when upgrading.
|
Java 5 required |
Apache Tomcat 6.0.x requires Java 5 or later, unlike Apache Tomcat 5.5.x which
could use a compatibility package to run on JRE 1.4.
|
|
|
Modified directory structure |
|
Shared libraries |
Apache Tomcat 5.5.x used, by default, a directory structure including
common, shared and server subdirectories.
Apache Tomcat 6.0.x uses a single lib directory.
The lib directory is the direct replacement for both
common/lib and common/classes subdirectories:
it accepts both JARs and exploded class hierarchies.
The conf/catalina.properties file can be used to modify
the directory structure.
Starting with version 6.0.21, Apache Tomcat supports both the
$CATALINA_BASE/lib and $CATALINA_HOME/lib
directories. The jars and classes in $CATALINA_BASE/lib
are earlier on the class path and thus take precedence.
|
|
|
Endorsed libraries |
The $CATALINA_HOME/common/endorsed subdirectory is replaced
by the $CATALINA_HOME/endorsed directory. This directory is
absent by default.
The JAVA_ENDORSED_DIRS environment variable can be used
with setenv.bat|sh scripts to provide alternative
location of this directory.
|
|
|
Default web applications |
The Manager and Host Manager web applications are no longer in
server/webapps. All of the default web applications
are now located in the webapps directory.
Note, that if deployOnStartup or autoDeploy
options on the Host are enabled, the
META-INF/context.xml files of manager and host-manager
applications will be copied into the
$CATALINA_BASE/conf/[engine_name]/[host_name]
directory when Tomcat starts for the first time.
When using a shared webhosting environment, it is recommended to forbid
the use of context.xml inside the web applications (using the
deployXML attribute of the Host element).
(This option is also available in Tomcat 5.5).
|
|
|
|
|
Modified classloading |
As a result of the modification of the directory structure, the
common, shared and server classloaders have been merged into one.
Effectively, the shared and server classloaders are not configured by
default and the common classloader is mapped to the lib
directory, as described above.
This behavior and structure can be modified using the
conf/catalina.properties file.
|
|
|
Internal Logging API package renaming |
Apache Tomcat 5.5.x relied on the
Apache Commons Logging
library for its internal logging. Apache Tomcat 6.0.x and later no more
uses the library directly, but uses a private copy of it. The classes are
in the org.apache.juli.logging package.
The rationale behind this change is that so that application logging
can be as independent as possible from the container, while still having
the possibility of being unified.
By default only a subset of Apache Commons Logging classes that are
needed to perform logging to java.util.logging is included
with Tomcat. If you want to configure Tomcat to redirect its logging into
Log4J, or any other logging
framework supported by the full Apache Commons Logging library, you will
have to replace one of Tomcat JARs with the full implementation. The JAR
is available as an extras component. See the logging and extras
documentation for more details.
|
|
| commons-logging.jar |
As Apache Tomcat no longer directly uses the
Apache Commons Logging
library, the commons-logging-api.jar library is no longer
provided for the web applications. The web applications that use
Apache Commons Logging have to provide their own copy of that library.
It is recommended to put it into their WEB-INF/lib directory,
like any other JAR.
|
|
|
SSLEnabled attribute on Connector |
For all SSL enabled connectors, the SSLEnabled flag must be set
to true to enable encryption. Tomcat no longer relies on using
the protocol and other parameters to determine if the transport should be
encrypted, to give maximum flexibility in proxied scenarios.
|
|
|
Connector thread pools |
The Connector thread pools have been simplified. They
now grow to the maximum size specified but never shrink. The attributes
associated with shrinking the thread pool (e.g. minSpareThreads)
will be ignored. If you require a thread pool that grows and shrinks with
demand you'll need to configure an Executor and then
configure your Connector to use it.
|
|
|
|
|
Upgrading 6.0.x |
|
When upgrading instances of Apache Tomcat from one version of Tomcat 6 to
another, particularly when using separate locations for $CATALINA_HOME and
$CATALINA_BASE, it is necessary to ensure that any changes in the
configuration files such as new attributes and changes to defaults are applied
as part of the upgrade. To assist with the identification of these changes,
the form below may be used to view the differences between the configuration
files in different versions of Tomcat 6.
|
Tomcat 6.0.x configuration file differences |
Select a configuration file, old version and new version from the boxes
below and then click "View differences" to see the differences.
The differences will be shown in a new tab/window.
You can also use Subversion command similar to the following (all on one line):
svn diff
--old=http://svn.apache.org/repos/asf/tomcat/tc6.0.x/tags/TOMCAT_6_0_36/conf/
--new=http://svn.apache.org/repos/asf/tomcat/tc6.0.x/tags/TOMCAT_6_0_37/conf/
|
|
|
|
|
|
Copyright © 1999-2013, The Apache Software Foundation
Apache Tomcat, Tomcat, Apache, the Apache feather, and the Apache Tomcat
project logo are trademarks of the Apache Software Foundation.
|