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 Property replacement from the specified property source on the JVM
system properties can also be done by adding the
|
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_WHITESPACE |
If If not specified, the specification compliant default 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
|
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.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. AsyncMaxRecordCount |
The maximum number of log records that the JULI AsyncFileHandler will queue in memory.
New records are added to the queue and get asynchronously removed from the queue
and written to the files by a single writer thread.
When the queue is full and a new record is being logged
the log record will be handled based on the The default value is |
org.apache.juli. AsyncOverflowDropType |
When the queue of log records of the JULI AsyncFileHandler is full, new log records are handled according to the following setting:
The default value is |
org.apache.juli. AsyncLoggerPollInterval |
The poll interval in milliseconds for the asynchronous logger thread. 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 is 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 is 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 Note: This option is deprecated and will be removed in Tomcat 9. The reason phrase will not be sent. |
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 |
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 will expose the server to CVE-2016-6816. If not specified, the default value of |