System Properties
Table of Contents
Introduction
The following sections list the system properties that may be set to modify the default Tomcat behaviour.
Property replacements
Property | Description |
---|---|
org.apache.tomcat.util.digester. PROPERTY_SOURCE |
Set this to a fully qualified name of a class that implements
Use this to add a property source, that will be invoked when |
Clustering
Property | Description |
---|---|
org.apache.catalina. tribes.dns_lookups |
If If not specified, the default value of |
Expression Language
Property | Description |
---|---|
org.apache.el.BeanELResolver. CACHE_SIZE |
The number of javax.el.BeanELResolver.BeanProperties objects that will be cached by the EL Parser. If not specified, the default of |
org.apache.el.ExpressionBuilder. CACHE_SIZE |
The number of parsed EL expressions that will be cached by the EL Parser. If not specified, the default of |
org.apache.el.parser. COERCE_TO_ZERO |
If If not specified, the default value of |
org.apache.el.parser. SKIP_IDENTIFIER_CHECK |
If If not specified, the default value of |
Jasper
Property | Description |
---|---|
org.apache.jasper.compiler. Generator.POOL_TAGS_WITH_EXTENDS |
By default, JSPs that use their own base class via the extends
attribute of the page directive, will have Tag pooling disabled since
Jasper cannot guarantee that the necessary initialisation will have taken
place. This can have a negative impact on performance. Providing the
alternative base class calls _jspInit() from Servlet.init(), setting this
property to If not specified, the default value of |
org.apache.jasper.compiler. Generator.STRICT_GET_PROPERTY |
If If not specified, the specification compliant default of
|
org.apache.jasper.compiler. Generator.VAR_EXPRESSIONFACTORY |
The name of the variable to use for the expression language expression factory. If not specified, the default value of |
org.apache.jasper.compiler. Generator.VAR_INSTANCEMANAGER |
The name of the variable to use for the instance manager factory. If not specified, the default value of |
org.apache.jasper.compiler. Parser.STRICT_QUOTE_ESCAPING |
Deprecated. Configures the default setting for the
If not specified, the specification compliant default of
|
org.apache.jasper.compiler. Parser.STRICT_WHITESPACE |
If If not specified, the specification compliant default of
|
org.apache.jasper.runtime. BodyContentImpl.BUFFER_SIZE |
The size (in characters) to use when creating a tag buffer. If not specified, the default value of
|
org.apache.jasper.runtime. BodyContentImpl.LIMIT_BUFFER |
If If not specified, the default value of |
org.apache.jasper.runtime. JspFactoryImpl.USE_POOL |
If If not specified, the default value of |
org.apache.jasper.runtime. JspFactoryImpl.POOL_SIZE |
The size of the ThreadLocal If not specified, the default value of |
org.apache.jasper.Constants. JSP_SERVLET_BASE |
The base class of the Servlets generated from the JSPs. If not specified, the default value of
|
org.apache.jasper.Constants. SERVICE_METHOD_NAME |
The name of the service method called by the base class. If not specified, the default value of |
org.apache.jasper.Constants. SERVLET_CLASSPATH |
The name of the ServletContext attribute that provides the classpath for the JSP. If not specified, the default value of
|
org.apache.jasper.Constants. JSP_FILE |
The name of the request attribute for If not specified, the default value of
Deprecated: This will be removed in Tomcat 9.0.x onwards. It is replaced by the use of the jspFile servlet initialisation parameter |
org.apache.jasper.Constants. PRECOMPILE |
The name of the query parameter that causes the JSP engine to just pregenerate the servlet but not invoke it. If not specified, the default value of |
org.apache.jasper.Constants. JSP_PACKAGE_NAME |
The default package name for compiled jsp pages. If not specified, the default value of |
org.apache.jasper.Constants. TAG_FILE_PACKAGE_NAME |
The default package name for tag handlers generated from tag files. If not specified, the default value of |
org.apache.jasper.Constants. ALT_DD_ATTR |
The servlet context attribute under which the alternate deployment descriptor for this web application is stored. If not specified, the default value of
|
org.apache.jasper.Constants. TEMP_VARIABLE_NAME_PREFIX |
Prefix to use for generated temporary variable names. If not specified, the default value of |
org.apache.jasper.Constants. USE_INSTANCE_MANAGER_FOR_TAGS |
If If not specified, the default value of |
Security
Property | Description |
---|---|
org.apache.catalina.connector. RECYCLE_FACADES |
If this is If not specified, the default value of |
org.apache.catalina.connector. CoyoteAdapter.ALLOW_BACKSLASH |
If this is If not specified, the default value of |
org.apache.tomcat.util.buf. UDecoder.ALLOW_ENCODED_SLASH |
If this is If not specified, the default value of |
Specifications
Property | Description |
---|---|
org.apache.catalina. STRICT_SERVLET_COMPLIANCE |
The default value of this system property is If this is
Note that changing a number of the above defaults is likely to break
the majority of systems as some browsers are unable to correctly handle
the cookie headers that result from a strict adherence to the
specifications. Defaults, regardless of whether or not they have been
changed by setting
|
org.apache.catalina.connector. Response.ENFORCE_ENCODING_IN_GET_WRITER |
If this is If not specified, the default specification compliant value of
|
org.apache.catalina.core.ApplicationContext .GET_RESOURCE_REQUIRE_SLASH |
If this is If |
org.apache.catalina.core. ApplicationDispatcher.WRAP_SAME_OBJECT |
If this is If |
org.apache.tomcat.websocket. STRICT_SPEC_COMPLIANCE |
The default value of this system property is If this is
|
org.apache.tomcat.util.http. ServerCookie.ALLOW_EQUALS_IN_VALUE |
Deprecated. This will be removed in Tomcat 9. Specify the
This sets the default value for If not specified, the default specification compliant value of
|
org.apache.tomcat.util.http. ServerCookie.ALLOW_HTTP_SEPARATORS_IN_V0 |
Deprecated. This will be removed in Tomcat 9. Specify the
This sets the default value for If not specified, the default specification compliant value of
|
org.apache.tomcat.util.http. ServerCookie.ALLOW_NAME_ONLY |
Deprecated. This will be removed in Tomcat 9. Specify the
If this is If not specified, the default specification compliant value of
|
org.apache.tomcat.util.http. ServerCookie.ALWAYS_ADD_EXPIRES |
If this is If |
org.apache.tomcat.util.http. ServerCookie.FWD_SLASH_IS_SEPARATOR |
If this is true then the If |
org.apache.tomcat.util.http. ServerCookie.PRESERVE_COOKIE_HEADER |
Deprecated. This attribute is no longer used. From Tomcat 8.0.31,
Tomcat will always preserve the cookie header returned by
|
org.apache.tomcat.util.http. ServerCookie.STRICT_NAMING |
If this is If |
Sessions
Property | Description |
---|---|
org.apache.catalina.authenticator. Constants.SSO_SESSION_COOKIE_NAME |
An alternative name for the single sign on session cookie. Defaults to
|
org.apache.catalina.core. StandardHostValve.ACCESS_SESSION |
If this is If |
org.apache.catalina.session. StandardSession.ACTIVITY_CHECK |
If this is If |
org.apache.catalina.session. StandardSession.LAST_ACCESS_AT_START |
If this is If |
Logging
Property | Description |
---|---|
org.apache.juli.formatter |
If no logging configuration file is specified and no logging configuration class is specified
using the |
org.apache.juli. AsyncOverflowDropType |
When the memory limit of records has been reached the system needs to determine what action to take. Currently there are three actions that can be taken:
The default value is |
org.apache.juli. AsyncMaxRecordCount |
The max number of log records that the async logger will keep in memory. When this limit is reached and a new record is being logged by the
JULI framework the system will take an action based on the The default value is |
org.apache.juli. AsyncLoggerPollInterval |
The poll interval in milliseconds for the asynchronous logger thread in milliseconds. If the log queue is empty, the async thread will issue a poll(poll interval) in order to not wake up too often. The default value is |
org.apache.juli.logging. UserDataHelper.CONFIG |
The type of logging to use for errors generated by invalid input data.
The options are: The default value is The errors currently logged using this system are:
Other errors triggered by invalid input data may be added to this system in later versions. |
org.apache.juli.logging. UserDataHelper.SUPPRESSION_TIME |
When using A value of A negative value means an infinite suppression period. The default value is |
JAR Scanning
Property | Description |
---|---|
tomcat.util.scan. StandardJarScanFilter.jarsToSkip |
A list of comma-separated file name patters that is used as the default
value for The coded default empty, however the system property is set in
a default Tomcat installation via the
|
tomcat.util.scan. StandardJarScanFilter.jarsToScan |
A list of comma-separated file name patters that is used as the default
value for The coded default empty, however the system property is set in
a default Tomcat installation via the
|
Websockets
Property | Description |
---|---|
org.apache.tomcat .websocket.ALLOW_UNSUPPORTED_EXTENSIONS |
If The default value is |
org.apache.tomcat. websocket.DEFAULT_ORIGIN_HEADER_VALUE |
Default value of the origin header that will be sent by the client during the upgrade handshake. The default is null so that no origin header is sent. |
org.apache.tomcat. websocket.DEFAULT_PROCESS_PERIOD |
The number of periodic ticks between periodic processing which involves in particular session expiration checks. The default value is |
org.apache.tomcat. websocket.DISABLE_BUILTIN_EXTENSIONS |
If The default value is |
org.apache.tomcat. websocket.STREAMS_DROP_EMPTY_MESSAGES |
If The default value is |
Other
Property | Description |
---|---|
org.apache.coyote. USE_CUSTOM_STATUS_MSG_IN_HEADER | If this is
If not specified, the default value of |
catalina.useNaming |
If this is |
javax.sql.DataSource.Factory |
The class name of the factory to use to create resources of type
|
javax.mail.Session.Factory |
The class name of the factory to use to create resources of type
|
jvmRoute |
Provides a default value for the |
catalina.config |
The URL for the catalina.properties configuration file. |
tomcat.util.buf.StringCache.byte.enabled |
If If not specified, the default value of |
tomcat.util.buf.StringCache.char.enabled |
If If not specified, the default value of |
tomcat.util.buf.StringCache.trainThreshold |
The number of times If not specified, the default value of |
tomcat.util.buf.StringCache.cacheSize |
The size of the String cache. If not specified, the default value of |
org.apache.tomcat.util.buf.UriUtil. WAR_SEPARATOR |
The character to use to separate the WAR file and WAR content parts of
a WAR URL using the custom WAR scheme provided by Tomcat. This is
equivalent to how If not specified, the default value of |
tomcat.util.buf.StringCache.maxStringSize |
The maximum length of String that will be cached. If not specified, the default value of |
org.apache.tomcat.util. http.FastHttpDateFormat.CACHE_SIZE |
The size of the cache to use parsed and formatted date value. If not specified, the default value of |
org.apache.tomcat.util. net.NioSelectorShared |
If If not specified, the default value of |
org.apache.catalina.startup. EXIT_ON_INIT_FAILURE |
If If not specified, the default value of |
org.apache.catalina.startup. RealmRuleSet.MAX_NESTED_REALM_LEVELS |
The CombinedRealm allows nested Realms. This property controls the maximum permitted number of levels of nesting. If not specified, the default value of |
org.apache.catalina.startup. CredentialHandlerRuleSet.MAX_NESTED_LEVELS |
The NestedCredentialHandler allows nested CredentialHandlers. This property controls the maximum permitted number of levels of nesting. If not specified, the default value of |
tomcat.util.http.parser.HttpParser. requestTargetAllow |
This system property is deprecated. Use the
A string comprised of characters the server should allow even when they are not encoded. These characters would normally result in a 400 status. The acceptable characters for this property are: WARNING: Use of this option may expose the server to CVE-2016-6816. If not specified, the default value of |