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 | If  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.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.STRICT_NAMING | If this is true then the requirements of the Servlet specification that Cookie names must adhere to RFC2109 (no use of separators) will be enforced. 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
          | 
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  | 
| 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  | 

