# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

applicationContext.addFilter.ise=Filters can not be added to context {0} as the context has been initialised
applicationContext.addListener.iae.cnfe=Unable to create an instance of type [{0}]
applicationContext.addListener.iae.wrongType=The type specified [{0}] is not one of the expected listener types
applicationContext.addListener.iae.sclNotAllowed=Once the first ServletContextListener has been called, no more ServletContextListeners may be added.
applicationContext.addListener.ise=Listeners can not be added to context {0} as the context has been initialised
applicationContext.addRole.ise=Roles can not be added to context {0} as the context has been initialised
applicationContext.addServlet.ise=Servlets can not be added to context {0} as the context has been initialised
applicationContext.attributeEvent=Exception thrown by attributes event listener
applicationContext.invalidFilterName=Unable to add filter definition due to invalid filter name [{0}].
applicationContext.invalidServletName=Unable to add servlet definition due to invalid servlet name [{0}].
applicationContext.mapping.error=Error during mapping
applicationContext.requestDispatcher.iae=Path {0} does not start with a "/" character
applicationContext.resourcePaths.iae=Path {0} does not start with a "/" character
applicationContext.role.iae=An individual role to declare for context [{0}] may not be null nor the empty string
applicationContext.roles.iae=Array of roles to declare for context [{0}] cannot be null
applicationContext.setAttribute.namenull=Name cannot be null
applicationContext.addSessionCookieConfig.ise=Session Cookie configuration cannot be set for context {0} as the context has been initialised
applicationContext.setSessionTracking.ise=The session tracking modes for context {0} cannot be set whilst the context is running
applicationContext.setSessionTracking.iae.invalid=The session tracking mode {0} requested for context {1} is not supported by that context
applicationContext.setSessionTracking.iae.ssl=The session tracking modes requested for context {0} included SSL and at least one other mode. SSL may not be configured with other modes.
applicationContext.lookup.error=Failed to locate resource [{0}] in context [{1}]
applicationDispatcher.allocateException=Allocate exception for servlet {0}
applicationDispatcher.deallocateException=Deallocate exception for servlet {0}
applicationDispatcher.forward.ise=Cannot forward after response has been committed
applicationDispatcher.forward.throw=Forwarded resource threw an exception
applicationDispatcher.include.throw=Included resource threw an exception
applicationDispatcher.isUnavailable=Servlet {0} is currently unavailable
applicationDispatcher.serviceException=Servlet.service() for servlet {0} threw exception
applicationDispatcher.specViolation.request=Original SevletRequest or wrapped original ServletRequest not passed to RequestDispatcher in violation of SRV.8.2 and SRV.14.2.5.1
applicationDispatcher.specViolation.response=Original SevletResponse or wrapped original ServletResponse not passed to RequestDispatcher in violation of SRV.8.2 and SRV.14.2.5.1
applicationFilterConfig.jmxRegisterFail=JMX registration failed for filter of type [{0}] and name [{1}]
applicationFilterConfig.jmxUnregister=JMX de-registration complete for filter of type [{0}] and name [{1}]
applicationFilterConfig.jmxUnregisterFail=JMX de-registration failed for filter of type [{0}] and name [{1}]
applicationFilterConfig.release=Failed to destroy the filter named [{0}] of type [{1}]
applicationFilterRegistration.nullInitParam=Unable to set initialisation parameter for filter due to null name and/or value. Name [{0}], Value [{1}]
applicationFilterRegistration.nullInitParams=Unable to set initialisation parameters for filter due to null name and/or value. Name [{0}], Value [{1}]
applicationRequest.badParent=Cannot locate parent Request implementation
applicationRequest.badRequest=Request is not a javax.servlet.ServletRequestWrapper
applicationResponse.badParent=Cannot locate parent Response implementation
applicationResponse.badResponse=Response is not a javax.servlet.ServletResponseWrapper
applicationServletRegistration.setServletSecurity.iae=Null constraint specified for servlet [{0}] deployed to context with name [{1}]
applicationServletRegistration.setServletSecurity.ise=Security constraints can't be added to servlet [{0}] deployed to context with name [{1}] as the context has already been initialised
applicationSessionCookieConfig.ise=Property {0} can not be added to SessionCookieConfig for context {1} as the context has been initialised
aprListener.aprInit=The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: {0}
aprListener.tcnInvalid=An incompatible version {0} of the APR based Apache Tomcat Native library is installed, while Tomcat requires version {1}
aprListener.tcnVersion=An older version {0} of the APR based Apache Tomcat Native library is installed, while Tomcat recommends a minimum version of {1}
aprListener.aprDestroy=Failed shutdown of APR based Apache Tomcat Native library
aprListener.sslInit=Failed to initialize the SSLEngine.
aprListener.tcnValid=Loaded APR based Apache Tomcat Native library {0} using APR version {1}.
aprListener.flags=APR capabilities: IPv6 [{0}], sendfile [{1}], accept filters [{2}], random [{3}].
aprListener.initializingFIPS=Initializing FIPS mode...
aprListener.initializeFIPSSuccess=Successfully entered FIPS mode
aprListener.initializeFIPSFailed=Failed to enter FIPS mode
aprListener.tooLateForSSLEngine=Cannot setSSLEngine: SSL has already been initialized
aprListener.tooLateForSSLRandomSeed=Cannot setSSLRandomSeed: SSL has already been initialized
aprListener.tooLateForFIPSMode=Cannot setFIPSMode: SSL has already been initialized
aprListener.initializedOpenSSL=OpenSSL successfully initialized ({0})

asyncContextImpl.requestEnded=The request associated with the AsyncContext has already completed processing.
asyncContextImpl.noAsyncDispatcher=The dispatcher returned from the ServletContext does not support asynchronous dispatching
asyncContextImpl.dispatchingStarted=Asynchronous dispatch operation has already been called. Additional asynchronous dispatch operation within the same asynchronous cycle is not allowed.
containerBase.threadedStartFailed=A child container failed during start
containerBase.threadedStopFailed=A child container failed during stop
containerBase.backgroundProcess.cluster=Exception processing cluster {0} background process
containerBase.backgroundProcess.loader=Exception processing loader {0} background process
containerBase.backgroundProcess.manager=Exception processing manager {0} background process
containerBase.backgroundProcess.realm=Exception processing realm {0} background process
containerBase.backgroundProcess.valve=Exception processing valve {0} background process
defaultInstanceManager.invalidInjection=Invalid method resource injection annotation
fastEngineMapper.alreadyStarted=FastEngineMapper {0} has already been started
fastEngineMapper.notStarted=FastEngineMapper {0} has not yet been started
filterChain.filter=Filter execution threw an exception
filterChain.servlet=Servlet execution threw an exception
httpContextMapper.container=This container is not a StandardContext
httpEngineMapper.container=This container is not a StandardEngine
httpHostMapper.container=This container is not a StandardHost
interceptorValve.alreadyStarted=InterceptorValve has already been started
interceptorValve.notStarted=InterceptorValve has not yet been started
jreLeakListener.keepAliveFail=Failed to trigger creation of the sun.net.www.http.HttpClient class during Tomcat start to prevent possible memory leaks. This is expected on non-Sun JVMs.
jreLeakListener.gcDaemonFail=Failed to trigger creation of the GC Daemon thread during Tomcat start to prevent possible memory leaks. This is expected on non-Sun JVMs.
jreLeakListener.jarUrlConnCacheFail=Failed to disable Jar URL connection caching by default
jreLeakListener.xmlParseFail=Error whilst attempting to prevent memory leaks during XML parsing
jreLeakListener.authPolicyFail=Error whilst attempting to prevent memory leak in javax.security.auth.Policy class
jreLeakListener.ldapPoolManagerFail=Failed to trigger creation of the com.sun.jndi.ldap.LdapPoolManager class during Tomcat start to prevent possible memory leaks. This is expected on non-Sun JVMs.
jreLeakListener.classToInitializeFail=Failed to load class {0} during Tomcat start to prevent possible memory leaks.
naming.wsdlFailed=Failed to find wsdl file: {0}
naming.bindFailed=Failed to bind object: {0}
naming.jmxRegistrationFailed=Failed to register in JMX: {0}
naming.unbindFailed=Failed to unbind object: {0}
naming.invalidEnvEntryType=Environment entry {0} has an invalid type
naming.invalidEnvEntryValue=Environment entry {0} has an invalid value
naming.namingContextCreationFailed=Creation of the naming context failed: {0}
noPluggabilityServletContext.notAllowed=Section 4.4 of the Servlet 3.0 specification does not permit this method to be called from a ServletContextListener that was not defined in web.xml, a web-fragment.xml file nor annotated with @WebListener
standardContext.invalidWrapperClass={0} is not a subclass of StandardWrapper
standardContext.alreadyStarted=Context has already been started
standardContext.applicationListener=Error configuring application listener of class {0}
standardContext.applicationSkipped=Skipped installing application listeners due to previous error(s)
standardContext.badRequest=Invalid request path ({0}).
standardContext.cluster.noManager=No manager found. Checking if cluster manager should be used. Cluster configured: [{0}], Application distributable: [{1}]
standardContext.crlfinurl=The URL pattern "{0}" contains a CR or LF and so can never be matched.
standardContext.duplicateListener=The listener "{0}" is already configured for this context. The duplicate definition has been ignored.
standardContext.errorPage.error=Error page location {0} must start with a ''/''
standardContext.errorPage.required=ErrorPage cannot be null
standardContext.errorPage.warning=WARNING: Error page location {0} must start with a ''/'' in Servlet 2.4
standardContext.filterMap.either=Filter mapping must specify either a <url-pattern> or a <servlet-name>
standardContext.filterMap.name=Filter mapping specifies an unknown filter name {0}
standardContext.filterMap.pattern=Invalid <url-pattern> {0} in filter mapping
standardContext.filterStart=Exception starting filter {0}
standardContext.filterStartFailed=Failed to start application Filters successfully
standardContext.requestListener.requestInit=Exception sending request initialized lifecycle event to listener instance of class {0}
standardContext.requestListener.requestDestroy=Exception sending request destroyed lifecycle event to listener instance of class {0}
standardContext.requestListenerStartFailed=Failed to start request listener valve successfully
standardContext.requestListenerConfig.added=Added request listener Valve
standardContext.requestListenerConfig.error=Exception adding request listener Valve: {0}
standardContext.isUnavailable=This application is not currently available
standardContext.listenerStart=Exception sending context initialized event to listener instance of class {0}
standardContext.listenerStartFailed=Failed to start application Listeners successfully
standardContext.listenerStop=Exception sending context destroyed event to listener instance of class {0}
standardContext.loginConfig.errorPage=Form error page {0} must start with a ''/'
standardContext.loginConfig.errorWarning=WARNING: Form error page {0} must start with a ''/'' in Servlet 2.4
standardContext.loginConfig.loginPage=Form login page {0} must start with a ''/'
standardContext.loginConfig.loginWarning=WARNING: Form login page {0} must start with a ''/'' in Servlet 2.4
standardContext.loginConfig.required=LoginConfig cannot be null
standardContext.manager=Configured a manager of class [{0}]
standardContext.mappingError=MAPPING configuration error for relative URI {0}
standardContext.namingResource.init.fail=Failed to init new naming resources
standardContext.namingResource.destroy.fail=Failed to destroy old naming resources
standardContext.noResourceJar=Resource JARs are not supported. The JAR found at [{0}] will not be used to provide static content for context with name [{1}]
standardContext.notFound=The requested resource ({0}) is not available.
standardContext.notReloadable=Reloading is disabled on this Context
standardContext.notStarted=Context with name [{0}] has not yet been started
standardContext.notWrapper=Child of a Context must be a Wrapper
standardContext.parameter.duplicate=Duplicate context initialization parameter {0}
standardContext.parameter.required=Both parameter name and parameter value are required
standardContext.pathInvalid=A context path must either be an empty string or start with a ''/''. The path [{0}] does not meet these criteria and has been changed to [{1}]
standardContext.postconstruct.duplicate=Duplicate post construct method definition for class {0}
standardContext.postconstruct.required=Both fully qualified class name and method name are required
standardContext.predestroy.duplicate=Duplicate pre destroy method definition for class {0}
standardContext.predestroy.required=Both fully qualified class name and method name are required
standardContext.reloadingCompleted=Reloading Context with name [{0}] is completed
standardContext.reloadingFailed=Reloading this Context failed due to previous errors
standardContext.reloadingStarted=Reloading Context with name [{0}] has started
standardContext.resourcesStart=Error starting static Resources
standardContext.sciFail=Error during ServletContainerInitializer processing
standardContext.securityConstraint.mixHttpMethod=It is not permitted to mix <http-method> and <http-method-omission> in the same web resource collection
standardContext.securityConstraint.pattern=Invalid <url-pattern> {0} in security constraint
standardContext.servletMap.name=Servlet mapping specifies an unknown servlet name {0}
standardContext.servletMap.pattern=Invalid <url-pattern> {0} in servlet mapping
standardContext.startCleanup=Exception during cleanup after start failed
standardContext.startFailed=Context [{0}] startup failed due to previous errors
standardContext.startingContext=Exception starting Context with name [{0}]
standardContext.startingLoader=Exception starting Loader
standardContext.startingManager=Exception starting Manager
standardContext.startingWrapper=Exception starting Wrapper for servlet {0}
standardContext.stoppingContext=Exception stopping Context with name [{0}]
standardContext.stoppingLoader=Exception stopping Loader
standardContext.stoppingManager=Exception stopping Manager
standardContext.stoppingWrapper=Exception stopping Wrapper for servlet {0}
standardContext.urlDecode=Cannot URL decode request path {0}
standardContext.urlPattern.patternWarning=WARNING: URL pattern {0} must start with a ''/'' in Servlet 2.4
standardContext.urlValidate=Cannot validate URL decoded request path {0}
standardContext.workPath=Exception obtaining work path for context [{0}]
standardContext.workCreateException=Failed to determine absolute work directory from directory [{0}] and CATALINA_HOME [{1}] for context [{2}]
standardContext.workCreateFail=Failed to create work directory [{0}] for context [{1}]
standardContextValve.acknowledgeException=Failed to acknowledge request with a 100 (Continue) response
standardEngine.alreadyStarted=Engine has already been started
standardEngine.jvmRouteFail=Failed to set Engine's jvmRoute attribute from system property
standardEngine.mappingError=MAPPING configuration error for server name {0}
standardEngine.noHost=No Host matches server name {0}
standardEngine.noHostHeader=HTTP/1.1 request with no Host: header
standardEngine.notHost=Child of an Engine must be a Host
standardEngine.notParent=Engine cannot have a parent Container
standardEngine.notStarted=Engine has not yet been started
standardEngine.unfoundHost=Virtual host {0} not found
standardEngine.unknownHost=No server host specified in this request
standardEngine.unregister.mbeans.failed=Error in destroy() for mbean file {0}
standardHost.accessBase=Cannot access document base directory {0}
standardHost.alreadyStarted=Host has already been started
standardHost.appBase=Application base directory {0} does not exist
standardHost.clientAbort=Remote Client Aborted Request, IOException: {0}
standardHost.configRequired=URL to configuration file is required
standardHost.configNotAllowed=Use of configuration file is not allowed
standardHost.installBase=Only web applications in the Host web application directory can be installed
standardHost.installing=Installing web application at context path {0} from URL {1}
standardHost.installingWAR=Installing web application from URL {0}
standardHost.installingXML=Processing Context configuration file URL {0}
standardHost.installError=Error deploying application at context path {0}
standardHost.invalidErrorReportValveClass=Couldn''t load specified error report valve class: {0}
standardHost.docBase=Document base directory {0} already exists
standardHost.mappingError=MAPPING configuration error for request URI {0}
standardHost.noContext=No Context configured to process this request
standardHost.noHost=No Host configured to process this request
standardHost.notContext=Child of a Host must be a Context
standardHost.notStarted=Host has not yet been started
standardHost.nullName=Host name is required
standardHost.pathFormat=Invalid context path: {0}
standardHost.pathMatch=Context path {0} must match the directory or WAR file name: {1}
standardHost.pathMissing=Context path {0} is not currently in use
standardHost.pathRequired=Context path is required
standardHost.pathUsed=Context path {0} is already in use
standardHost.removing=Removing web application at context path {0}
standardHost.removeError=Error removing application at context path {0}
standardHost.start=Starting web application at context path {0}
standardHost.stop=Stopping web application at context path {0}
standardHost.unfoundContext=Cannot find context for request URI {0}
standardHost.warRequired=URL to web application archive is required
standardHost.warURL=Invalid URL for web application archive: {0}
standardServer.onameFail=MBean name specified for Server [{0}] is not valid
standardServer.shutdownViaPort=A valid shutdown command was received via the shutdown port. Stopping the Server instance.
standardService.connector.initFailed=Failed to initialize connector [{0}]
standardService.connector.destroyFailed=Failed to destroy connector [{0}]
standardService.connector.pauseFailed=Failed to pause connector [{0}]
standardService.connector.startFailed=Failed to start connector [{0}]
standardService.connector.stopFailed=Failed to stop connector [{0}]
standardService.initialize.failed=Service initializing at {0} failed
standardService.onameFail=MBean name specified for Service [{0}] is not valid
standardService.register.failed=Error registering Service at domain {0}
standardService.start.name=Starting service {0}
standardService.stop.name=Stopping service {0}
standardThreadExecutor.onameFail=MBean name specified for Thread Executor [{0}] is not valid
standardWrapper.allocate=Error allocating a servlet instance
standardWrapper.allocateException=Allocate exception for servlet {0}
standardWrapper.containerServlet=Loading container servlet {0}
standardWrapper.createFilters=Create filters exception for servlet {0}
standardWrapper.deallocateException=Deallocate exception for servlet {0}
standardWrapper.destroyException=Servlet.destroy() for servlet {0} threw exception
standardWrapper.exception0=Tomcat Exception Report
standardWrapper.exception1=A Servlet Exception Has Occurred
standardWrapper.exception2=Exception Report:
standardWrapper.exception3=Root Cause:
standardWrapper.initException=Servlet.init() for servlet {0} threw exception
standardWrapper.instantiate=Error instantiating servlet class {0}
standardWrapper.isUnavailable=Servlet {0} is currently unavailable
standardWrapper.jasperLoader=Using Jasper classloader for servlet {0}
standardWrapper.jspFile.format=JSP file {0} does not start with a ''/'' character
standardWrapper.loadException=Servlet {0} threw load() exception
standardWrapper.missingClass=Wrapper cannot find servlet class {0} or a class it depends on
standardWrapper.missingLoader=Wrapper cannot find Loader for servlet {0}
standardWrapper.notChild=Wrapper container may not have child containers
standardWrapper.notClass=No servlet class has been specified for servlet {0}
standardWrapper.notContext=Parent container of a Wrapper must be a Context
standardWrapper.notFound=Servlet {0} is not available
standardWrapper.notServlet=Class {0} is not a Servlet
standardWrapper.releaseFilters=Release filters exception for servlet {0}
standardWrapper.serviceException=Servlet.service() for servlet [{0}] in context with path [{1}] threw exception
standardWrapper.serviceExceptionRoot=Servlet.service() for servlet [{0}] in context with path [{1}] threw exception [{2}] with root cause
standardWrapper.statusHeader=HTTP Status {0} - {1}
standardWrapper.statusTitle=Tomcat Error Report
standardWrapper.unavailable=Marking servlet {0} as unavailable
standardWrapper.unloadException=Servlet {0} threw unload() exception
standardWrapper.unloading=Cannot allocate servlet {0} because it is being unloaded
standardWrapper.waiting=Waiting for {0} instance(s) to be deallocated for Servlet [{1}]
threadLocalLeakPreventionListener.lifecycleEvent.error=Exception processing lifecycle event {0}
threadLocalLeakPreventionListener.containerEvent.error=Exception processing container event {0}

defaultInstanceManager.restrictedServletsResource=Restricted servlets property file not found
defaultInstanceManager.privilegedServlet=Servlet of class {0} is privileged and cannot be loaded by this web application
defaultInstanceManager.restrictedFiltersResource=Restricted filters property file not found
defaultInstanceManager.privilegedFilter=Filter of class {0} is privileged and cannot be loaded by this web application
defaultInstanceManager.restrictedListenersResources="Restricted listeners property file not found
