This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 11.0.x in repository https://gitbox.apache.org/repos/asf/tomcat.git
commit 635e169a8911c8c8bd1a431483684bbc5739c54d Author: Mark Thomas <ma...@apache.org> AuthorDate: Tue Sep 10 17:02:36 2024 +0100 Add diagram 7 that shows Context configuration process --- webapps/docs/architecture/startup.xml | 8 +- .../startup/7_catalina_context_config.plantuml | 109 +++++++++++++++++++++ .../startup/7_catalina_context_config.png | Bin 0 -> 89731 bytes 3 files changed, 115 insertions(+), 2 deletions(-) diff --git a/webapps/docs/architecture/startup.xml b/webapps/docs/architecture/startup.xml index c96eab6632..c95e10495b 100644 --- a/webapps/docs/architecture/startup.xml +++ b/webapps/docs/architecture/startup.xml @@ -96,11 +96,15 @@ Clusters, Realms and Valves. for Context elements as it is rather more involved that the other Containers. </p> <p> -<a href="startup/6_catalina_host_config.png">Diagram 5</a> shows how the +<a href="startup/6_catalina_host_config.png">Diagram 6</a> shows how the HostConfig component responds to lifecycle events triggered by the Host to deploy web applications to the Host.</p> <p> -Diagram 7 will show ContextConfig. +<a href="startup/7_catalina_context_config.png">Diagram 7</a> shows how the +ContextConfig component responds to lifecycle events triggered by the Context to +parse the global and application provided configuration files to create a merged +web.xml file that is then used, along with other settings, to configure the web +application. </p> </subsection> diff --git a/webapps/docs/architecture/startup/7_catalina_context_config.plantuml b/webapps/docs/architecture/startup/7_catalina_context_config.plantuml new file mode 100644 index 0000000000..98a70cb5cd --- /dev/null +++ b/webapps/docs/architecture/startup/7_catalina_context_config.plantuml @@ -0,0 +1,109 @@ +@startuml + +' 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. + +hide footbox +skinparam style strictuml + +activate Context + +== BEFORE_START_EVENT == + +Context -> ContextConfig ++:lifecycleEvent(BEFORE_START_EVENT) + +ContextConfig -> ContextConfig ++: beforeStart() + +ContextConfig -> ContextConfig: fixDocBase() + +ContextConfig -> ContextConfig: antiLocking() + +return + +return + +== CONFIGURE_START_EVENT == + +Context -> ContextConfig ++:lifecycleEvent(CONFIGURE_START_EVENT) + +ContextConfig -> ContextConfig ++: configureStart() + +ContextConfig -> ContextConfig ++: webConfig() + +ContextConfig --> WebXmlParser ** + +ContextConfig -> ContextConfig ++: getDefaultWebXmlFragment() + +ContextConfig -> WebXmlParser ++: parseWebXml(defaultWebXml) +return + +return + +ContextConfig -> ContextConfig ++: getTomcatWebXmlFragment() + +ContextConfig -> WebXmlParser ++: parseWebXml(tomcatWebXml) +return + +return + +ContextConfig --> WebXml ** + +ContextConfig -> WebXmlParser ++: parseWebXml(contextWebXml) +WebXmlParser -> WebXml ++ +return +return + +ContextConfig -> ContextConfig: processJarsForWebFragments() +ContextConfig -> ContextConfig: processServletContainerInitializers() +ContextConfig -> ContextConfig: processClasses() + +ContextConfig -> WebXml ++: merge(orderedFragments) +return + +ContextConfig -> WebXml ++: merge(tomcatWebXml) +return + +ContextConfig -> WebXml ++: merge(defaultWebXml) +return + +ContextConfig -> ContextConfig: convertJsps() +ContextConfig -> ContextConfig: configureContext() +ContextConfig -> ContextConfig: processResourceJARs() + +return + +||| +ContextConfig -> ContextConfig: applicationAnnotationsConfig() + +ContextConfig -> ContextConfig: validateSecurityRoles() + +ContextConfig -> ContextConfig: authenticatorConfig() + +return +destroy WebXmlParser +destroy WebXml + +return + +== AFTER_START_EVENT == + +Context -> ContextConfig ++:lifecycleEvent(AFTER_START_EVENT) + +ContextConfig -> Context ++:setDocBase(originalDocBase) +return + +return + +@enduml \ No newline at end of file diff --git a/webapps/docs/architecture/startup/7_catalina_context_config.png b/webapps/docs/architecture/startup/7_catalina_context_config.png new file mode 100644 index 0000000000..e8c6c48f0f Binary files /dev/null and b/webapps/docs/architecture/startup/7_catalina_context_config.png differ --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org