https://issues.apache.org/bugzilla/show_bug.cgi?id=50169
Summary: Trying to register wrapper and welcomeFile to Mapper
before context is registered on Mapper.
Product: Tomcat 7
Version: trunk
Platform: All
OS/Version: All
Status: NEW
Severity: minor
Priority: P2
Component: Catalina
AssignedTo: [email protected]
ReportedBy: [email protected]
Created an attachment (id=26220)
--> (https://issues.apache.org/bugzilla/attachment.cgi?id=26220)
patch for StandardContext and StandardWrapper
When I used "Host start operation" via JMX, I got error messages.
2010/10/28 11:04:10 org.apache.tomcat.util.http.mapper.Mapper addWrapper
SEVERE: No context found:
2010/10/28 11:04:10 org.apache.tomcat.util.http.mapper.Mapper addWrapper
SEVERE: No context found:
2010/10/28 11:04:10 org.apache.tomcat.util.http.mapper.Mapper addWrapper
SEVERE: No context found:
2010/10/28 11:04:10 org.apache.tomcat.util.http.mapper.Mapper addWrapper
SEVERE: No context found:
2010/10/28 11:04:10 org.apache.tomcat.util.http.mapper.Mapper addWrapper
SEVERE: No context found:
2010/10/28 11:04:10 org.apache.tomcat.util.http.mapper.Mapper addWrapper
SEVERE: No context found:
2010/10/28 11:04:10 org.apache.tomcat.util.http.mapper.Mapper addWelcomeFile
SEVERE: No context found:
2010/10/28 11:04:10 org.apache.tomcat.util.http.mapper.Mapper addWelcomeFile
SEVERE: No context found:
2010/10/28 11:04:10 org.apache.tomcat.util.http.mapper.Mapper addWelcomeFile
SEVERE: No context found:
2010/10/28 11:04:10 org.apache.tomcat.util.http.mapper.Mapper addWelcomeFile
SEVERE: No context found:
2010/10/28 11:04:10 org.apache.tomcat.util.http.mapper.Mapper addWelcomeFile
SEVERE: No context found:
2010/10/28 11:04:10 org.apache.tomcat.util.http.mapper.Mapper addWelcomeFile
SEVERE: No context found:
At first StandardHost starts /manager context.
(1) LifecycleState is STARTING_PREP now. Wrapper is not registered because host
has not been registered.
Mapper.addWrapper(String, String, String, Object, boolean) line: 331
MapperListener.containerEvent(ContainerEvent) line: 169
StandardWrapper(ContainerBase).fireContainerEvent(String, Object) line:
1253
StandardWrapper.addMapping(String) line: 740
StandardContext.addServletMapping(String, String, boolean) line: 2921
StandardContext.addServletMapping(String, String) line: 2881
WebXml.configureContext(Context) line: 1274
ContextConfig.webConfig() line: 1283
ContextConfig.configureStart() line: 881
ContextConfig.lifecycleEvent(LifecycleEvent) line: 315
LifecycleSupport.fireLifecycleEvent(String, Object) line: 119
StandardContext(LifecycleBase).fireLifecycleEvent(String, Object) line: 89
StandardContext.startInternal() line: 4834
StandardContext(LifecycleBase).start() line: 140
StandardHost(ContainerBase).startInternal() line: 1027
StandardHost.startInternal() line: 788
StandardHost(LifecycleBase).start() line: 140
(2) Set LifecycleState to STARTED. Register context and host on Mapper.
Mapper.addHost(String, String[], Object) line: 96
Mapper.addContext(String, Object, String, Object, String[], Context) line:
226
MapperListener.registerContext(Context) line: 339
MapperListener.lifecycleEvent(LifecycleEvent) line: 411
LifecycleSupport.fireLifecycleEvent(String, Object) line: 119
StandardContext(LifecycleBase).fireLifecycleEvent(String, Object) line: 89
StandardContext(LifecycleBase).setState(LifecycleState, Object) line: 325
StandardContext(LifecycleBase).setState(LifecycleState) line: 305
StandardContext(LifecycleBase).start() line: 156
StandardHost(ContainerBase).startInternal() line: 1027
StandardHost.startInternal() line: 788
StandardHost(LifecycleBase).start() line: 140
(3) Register wrapper again. It succeeds because context has been registered on
Mapper.
Mapper.addWrapper(String, String, String, Object, boolean) line: 328
MapperListener.registerWrapper(Wrapper) line: 394
MapperListener.registerContext(Context) line: 343
MapperListener.lifecycleEvent(LifecycleEvent) line: 411
LifecycleSupport.fireLifecycleEvent(String, Object) line: 119
StandardContext(LifecycleBase).fireLifecycleEvent(String, Object) line: 89
StandardContext(LifecycleBase).setState(LifecycleState, Object) line: 325
StandardContext(LifecycleBase).setState(LifecycleState) line: 305
StandardContext(LifecycleBase).start() line: 156
StandardHost(ContainerBase).startInternal() line: 1027
StandardHost.startInternal() line: 788
StandardHost(LifecycleBase).start() line: 140
Next, StandardHost starts ROOT context.
(4) Register wrapper. Then, gets error as follows because context has not been
registered.
2010/10/28 11:04:10 org.apache.tomcat.util.http.mapper.Mapper addWrapper
SEVERE: No context found:
Mapper.addWrapper(String, String, String, Object, boolean) line: 338
MapperListener.containerEvent(ContainerEvent) line: 169
StandardWrapper(ContainerBase).fireContainerEvent(String, Object) line:
1253
StandardWrapper.addMapping(String) line: 740
StandardContext.addServletMapping(String, String, boolean) line: 2921
StandardContext.addServletMapping(String, String) line: 2881
WebXml.configureContext(Context) line: 1274
ContextConfig.webConfig() line: 1283
ContextConfig.configureStart() line: 881
ContextConfig.lifecycleEvent(LifecycleEvent) line: 315
LifecycleSupport.fireLifecycleEvent(String, Object) line: 119
StandardContext(LifecycleBase).fireLifecycleEvent(String, Object) line: 89
StandardContext.startInternal() line: 4834
StandardContext(LifecycleBase).start() line: 140
StandardHost(ContainerBase).startInternal() line: 1027
StandardHost.startInternal() line: 788
StandardHost(LifecycleBase).start() line: 140
(5) Set LifecycleState to STARTED, and register context.
Mapper.addContext(String, Object, String, Object, String[], Context) line:
223
MapperListener.registerContext(Context) line: 339
MapperListener.lifecycleEvent(LifecycleEvent) line: 411
LifecycleSupport.fireLifecycleEvent(String, Object) line: 119
StandardContext(LifecycleBase).fireLifecycleEvent(String, Object) line: 89
StandardContext(LifecycleBase).setState(LifecycleState, Object) line: 325
StandardContext(LifecycleBase).setState(LifecycleState) line: 305
StandardContext(LifecycleBase).start() line: 156
StandardHost(ContainerBase).startInternal() line: 1027
StandardHost.startInternal() line: 788
StandardHost(LifecycleBase).start() line: 140
(6) Register wrapper. It succeeds because context has been registered on
Mapper.
Mapper.addWrapper(String, String, String, Object, boolean) line: 328
MapperListener.registerWrapper(Wrapper) line: 394
MapperListener.registerContext(Context) line: 343
MapperListener.lifecycleEvent(LifecycleEvent) line: 411
LifecycleSupport.fireLifecycleEvent(String, Object) line: 119
StandardContext(LifecycleBase).fireLifecycleEvent(String, Object) line: 89
StandardContext(LifecycleBase).setState(LifecycleState, Object) line: 325
StandardContext(LifecycleBase).setState(LifecycleState) line: 305
StandardContext(LifecycleBase).start() line: 156
StandardHost(ContainerBase).startInternal() line: 1027
StandardHost.startInternal() line: 788
StandardHost(LifecycleBase).start() line: 140
I think that addWrapper() is unnecessary until LifecycleState for
StandardContext become STARTED.
addWelcomeFile() is also similar.
I attached the patch that prevent this error message.
Best regards.
--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]