| Attribute | Description | 
|---|
| appContextProtection | Enables protection so that calls to
        sun.awt.AppContext.getAppContext()triggered by a web
        application do not result in a memory leak. Note that a call to this
        method will be triggered as part of the web application stop process so
        it is strongly recommended that this protection is enabled. The default
        istrue. | 
| AWTThreadProtection | Enables protection so that calls to
        java.awt.Toolkit.getDefaultToolkit()triggered by a web
        application do not result in a memory leak.
        Defaults tofalsebecause an AWT thread is launched. | 
| driverManagerProtection | The first use of java.sql.DriverManagerwill trigger the
        loading of JDBNC Driver in the the current class loader. The web
        application level memory leak protection can take care of this in most
        cases but triggering the loading here has fewer side-effects. The
        default istrue | 
| gcDaemonProtection | Enables protection so that calls to
        sun.misc.GC.requestLatency(long)triggered by a web
        application do not result in a memory leak. Use of RMI is likely to
        trigger a call to this method. A side effect of enabling this protection
        is the creation of a thread named "GC Daemon". The protection uses
        reflection to access internal Sun classes and may generate errors on
        startup on non-Sun JVMs. The default istrue. | 
| ldapPoolProtection | Enables protection so that the PoolCleaner thread started by
        com.sun.jndi.ldap.LdapPoolManagerdoes not result in a 
        memory leak. The thread is started the first time theLdapPoolManagerclass is used if the system propertycom.sun.jndi.ldap.connect.pool.timeoutis set to a value
        greater than 0. Without this protection, if a web application uses this 
        class the PoolCleaner thread will be configured with the thread's 
        context class loader set to the web application class loader which in 
        turn will trigger a memory leak on reload. Defaults totrue. | 
| securityLoginConfigurationProtection | Enables protection so that usage of the
        javax.security.auth.login.Configurationclass by a web 
        application does not provoke a memory leak. The first access of this 
        class will trigger the initializer that will retain a static reference 
        to the context class loader. The protection loads the class with the 
        system class loader to ensure that the static initializer is not 
        triggered by a web application. Defaults totrue. | 
| securityPolicyProtection | Enables protection so that usage of the deprecated
        javax.security.auth.Policyclass by a web application does not
        result in a memory leak. The first access of this class will trigger the
        static initializer that will retain a static reference to the context
        class loader. The protection calls thegetPolicy()method
        of this class to ensure that the static initializer is not triggered by
        a web application. Defaults totrue. | 
| tokenPollerProtection | Enables protection so that any token poller thread initialized by
        sun.security.pkcs11.SunPKCS11.initToken()does not
        result in a memory leak. The thread is started depending on various
        conditions as part of the initialization of the Java Cryptography
        Architecture. Without the protection this can happen during Webapp
        deployment when the MessageDigest for generating session IDs is
        initialized. As a result the thread has the Webapp class loader as its
        thread context class loader. Enabling the protection initializes JCA
        early during Tomcat startup. Defaults totrue. | 
| urlCacheProtection | Enables protection so that reading resources from JAR files using
        java.net.URLConnections does not result in the JAR file
        being locked. Note that enabling this protection disables caching by
        default for all resources obtained viajava.net.URLConnections. Caching may be re-enabled on a
        case by case basis as required. Defaults totrue. | 
| xmlParsingProtection | Enables protection so that parsing XML files within a web application
        does not result in a memory leak. Note that memory profilers may not
        display the GC root associated with this leak making it particularly
        hard to diagnose. Defaults to true. |