Author: remm Date: Tue Sep 17 11:51:14 2024 New Revision: 1920750 URL: http://svn.apache.org/viewvc?rev=1920750&view=rev Log: Docs update for 9.0.95
Added: tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/1_overview.plantuml tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/2_catalina_init.plantuml tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/3_catalina_start_1.plantuml tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/3_catalina_start_1.png (with props) tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/4_catalina_start_2.plantuml tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/4_catalina_start_2.png (with props) tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/5_catalina_start_3.plantuml tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/5_catalina_start_3.png (with props) tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/6_catalina_host_config.plantuml tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/6_catalina_host_config.png (with props) tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/7_catalina_context_config.plantuml tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/7_catalina_context_config.png (with props) Removed: tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/1_overview.uml tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/2_catalina_init.uml Added: tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/1_overview.plantuml URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/1_overview.plantuml?rev=1920750&view=auto ============================================================================== --- tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/1_overview.plantuml (added) +++ tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/1_overview.plantuml Tue Sep 17 11:51:14 2024 @@ -0,0 +1,97 @@ +@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 Bootstrap +Bootstrap -> Bootstrap: initClassLoaders() + +Bootstrap -->> Catalina ** : newInstance() + +Bootstrap -> Catalina ++: setParentClassLoader() +||| +return + +Bootstrap -> Catalina ++: start() + +Catalina -> Catalina ++: load() + +Catalina -> Catalina: initNaming() + +Catalina -> Catalina ++: parseServerXml() + +Catalina -->> Digester ** : +note right of Digester + The digester creates all + of the objects defined in + //server.xml// but only the + Server is shown here for + simplicity +end note + +Catalina -> Digester ++: parse() + +Digester -->> Server ** : + +return + +return + +||| +Catalina -> Catalina: initStream() + +group More detail in diagram 2 +Catalina -> Server ++: init() +||| +return +end + +return + +||| +group More detail in diagram 3 +Catalina -> Server ++: start() +||| +return +end + +||| +Catalina -> Catalina ++: await() +note right of Catalina + This is where Tomcat spends + time serving requests +end note +return + +||| +Catalina -> Catalina ++: stop() + +Catalina -> Server ++: stop() +||| +return + +Catalina -> Server ++: destroy() +||| +return + +return + +return + +deactivate Bootstrap +@enduml \ No newline at end of file Added: tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/2_catalina_init.plantuml URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/2_catalina_init.plantuml?rev=1920750&view=auto ============================================================================== --- tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/2_catalina_init.plantuml (added) +++ tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/2_catalina_init.plantuml Tue Sep 17 11:51:14 2024 @@ -0,0 +1,103 @@ +@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 Catalina + +Catalina -> Server ++: init() + +Server -> Server: fireLifecycleEvent(\n BEFORE_INIT_EVENT) + +Server -> Server ++: initInternal() + +Server -> "Global\nNaming\nResources" as GNR ++: init() +GNR -> GNR: fireLifecycleEvent(\n BEFORE_INIT_EVENT) +GNR -> GNR: initInternal() +GNR -> GNR: fireLifecycleEvent(\n AFTER_INIT_EVENT) +return + +||| +Server -> "Service(s)" as Services ++: init() + +Services -> Services: fireLifecycleEvent(\n BEFORE_INIT_EVENT) + +Services -> Services ++: initInternal() + +Services -> Engine ++: init() +Engine -> Engine: fireLifecycleEvent(\n BEFORE_INIT_EVENT) +Engine -> Engine: initInternal() +note right +The Engine initializes any nested Hosts, +Contexts and Wrappers as well as any +associated Valves, Loaders, Realms, +Clusters and Managers etc. +end note +Engine -> Engine: fireLifecycleEvent(\n AFTER_INIT_EVENT) +return + +||| +Services -> "Executor(s)" as Executors ++: init() +Executors -> Executors: fireLifecycleEvent(\n BEFORE_INIT_EVENT) +Executors -> Executors: initInternal() +Executors -> Executors: fireLifecycleEvent(\n AFTER_INIT_EVENT) +return + +||| +Services -> "Mapper\nListener" as MapperListener ++: init() +MapperListener -> MapperListener: fireLifecycleEvent(\n BEFORE_INIT_EVENT) +MapperListener -> MapperListener: initInternal() +MapperListener -> MapperListener: fireLifecycleEvent(\n AFTER_INIT_EVENT) +return + +||| +Services -> "Connector(s)" as Connectors ++: init() + +Connectors -> Connectors: fireLifecycleEvent(\n BEFORE_INIT_EVENT) + +Connectors -> Connectors ++: initInternal() + +Connectors -->> CoyoteAdapter ** + +Connectors -> Protocol ++: setAdapter() +return + +Connectors -> Protocol ++: init() +return + +return + +||| +Connectors -> Connectors: fireLifecycleEvent(\n AFTER_INIT_EVENT) + +return + +return + +||| +Services -> Services: fireLifecycleEvent(\n AFTER_INIT_EVENT) + +return + +return + +||| +Server -> Server: fireLifecycleEvent(\n AFTER_INIT_EVENT) + +return +@enduml \ No newline at end of file Added: tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/3_catalina_start_1.plantuml URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/3_catalina_start_1.plantuml?rev=1920750&view=auto ============================================================================== --- tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/3_catalina_start_1.plantuml (added) +++ tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/3_catalina_start_1.plantuml Tue Sep 17 11:51:14 2024 @@ -0,0 +1,118 @@ +@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 Catalina + +Catalina -> Server ++: start() + +Server -> Server: fireLifecycleEvent(\n BEFORE_START_EVENT) + +Server -> Server ++: startInternal() + +Server -> Server: fireLifecycleEvent(\n CONFIGURE_START_EVENT) +Server -> Server: fireLifecycleEvent(\n START_EVENT) + +Server -> "Global\nNaming\nResources" as GNR ++: start() + +GNR -> GNR: fireLifecycleEvent(\n BEFORE_START_EVENT) +GNR -> GNR ++: startInternal() + +GNR -> GNR: fireLifecycleEvent(\n CONFIGURE_START_EVENT) +GNR -> GNR: fireLifecycleEvent(\n START_EVENT) + +return +||| +GNR -> GNR: fireLifecycleEvent(\n AFTER_START_EVENT) + +return + +||| +Server -> "Service(s)" as Services ++: start() + +Services -> Services: fireLifecycleEvent(\n BEFORE_START_EVENT) + +Services -> Services ++: startInternal() + +Services -> Services: fireLifecycleEvent(\n START_EVENT) + +Services -> Engine ++: start() + +group More detail in diagram 4 +Engine -> Engine: fireLifecycleEvent(\n BEFORE_START_EVENT) + +Engine -> Engine ++: startInternal() + +Engine -> Engine: fireLifecycleEvent(\n START_EVENT) + +return + +||| +Engine -> Engine: fireLifecycleEvent(\n AFTER_START_EVENT) +end group + +return + +||| +Services -> "Executor(s)" as Executors ++: start() +Executors -> Executors: fireLifecycleEvent(\n BEFORE_START_EVENT) +Executors -> Executors ++: startInternal() +Executors -> Executors: fireLifecycleEvent(\n START_EVENT) +return +||| +Executors -> Executors: fireLifecycleEvent(\n AFTER_START_EVENT) +return + +||| +Services -> "Mapper\nListener" as MapperListener ++: start() +MapperListener -> MapperListener: fireLifecycleEvent(\n BEFORE_START_EVENT) +MapperListener -> MapperListener ++: startInternal() +MapperListener -> MapperListener: fireLifecycleEvent(\n START_EVENT) +return +||| +MapperListener -> MapperListener: fireLifecycleEvent(\n AFTER_START_EVENT) +return + +||| +Services -> "Connector(s)" as Connectors ++: start() +Connectors -> Connectors: fireLifecycleEvent(\n BEFORE_START_EVENT) +Connectors -> Connectors ++: startInternal() +Connectors -> Connectors: fireLifecycleEvent(\n START_EVENT) +Connectors -> Protocol ++: start() +return +return +||| +Connectors -> Connectors: fireLifecycleEvent(\n AFTER_INIT_EVENT) + +return + +return + +||| +Services -> Services: fireLifecycleEvent(\n AFTER_START_EVENT) + +return + +return + +||| +Server -> Server: fireLifecycleEvent(\n AFTER_START_EVENT) + +return +@enduml \ No newline at end of file Added: tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/3_catalina_start_1.png URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/3_catalina_start_1.png?rev=1920750&view=auto ============================================================================== Binary file - no diff available. Propchange: tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/3_catalina_start_1.png ------------------------------------------------------------------------------ svn:mime-type = image/png Added: tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/4_catalina_start_2.plantuml URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/4_catalina_start_2.plantuml?rev=1920750&view=auto ============================================================================== --- tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/4_catalina_start_2.plantuml (added) +++ tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/4_catalina_start_2.plantuml Tue Sep 17 11:51:14 2024 @@ -0,0 +1,103 @@ +@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 Container + +Container -> Container: fireLifecycleEvent(\n BEFORE_START_EVENT) + +Container -> Container ++: startInternal() + +Container -> Cluster ++: start() +Cluster -> Cluster: fireLifecycleEvent(\n BEFORE_START_EVENT) +Cluster -> Cluster ++: startInternal() +Cluster -> Cluster: fireLifecycleEvent(\n START_EVENT) +return +||| +Cluster -> Cluster: fireLifecycleEvent(\n AFTER_START_EVENT) +return + +Container -> Realm ++: start() +Realm -> Realm: fireLifecycleEvent(\n BEFORE_START_EVENT) +Realm -> Realm ++: startInternal() +Realm -> Realm: fireLifecycleEvent(\n START_EVENT) +return +||| +Realm -> Realm: fireLifecycleEvent(\n AFTER_START_EVENT) +return + +group Children started in parallel if startStopThreads > 1 (Engines and Hosts only) +Container -> Child ++: start() +note right of Child +Engines have Hosts as children. +Hosts have Contexts as children. +Contexts have Wrappers as children. + +Children are containers so the +process on this diagram is +repeated for each child. + +Contexts do a lot more in start() +as shown in diagram 5. +end note +return +end group + +Container -> Pipeline ++: start() +Pipeline -> Pipeline: fireLifecycleEvent(\n BEFORE_START_EVENT) +Pipeline -> Pipeline ++: startInternal() + +group Each Valve is started sequentially +Pipeline -> Valve ++: start() +Valve -> Valve: fireLifecycleEvent(\n BEFORE_START_EVENT) +Valve -> Valve ++: startInternal() +Valve -> Valve: fireLifecycleEvent(\n START_EVENT) +return +||| +Valve -> Valve: fireLifecycleEvent(\n AFTER_START_EVENT) +return +end group + +Pipeline -> Pipeline: fireLifecycleEvent(\n START_EVENT) +return +||| +Pipeline -> Pipeline: fireLifecycleEvent(\n AFTER_START_EVENT) +return + +Container -> Container: fireLifecycleEvent(\n START_EVENT) + +group If backgroundProcessorDelay > 0 (Engine defaults to 10, other Containers -1) +Container -> UtilityExecutor ++: scheduleWithFixedDelay() +UtilityExecutor --> ContainerBackgroundProcessor ** +note right of ContainerBackgroundProcessor +Re-created +automatically +if it fails +end note +return +end group + +||| +Container -> Container: fireLifecycleEvent(\n AFTER_START_EVENT) + +return + +||| + +@enduml \ No newline at end of file Added: tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/4_catalina_start_2.png URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/4_catalina_start_2.png?rev=1920750&view=auto ============================================================================== Binary file - no diff available. Propchange: tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/4_catalina_start_2.png ------------------------------------------------------------------------------ svn:mime-type = image/png Added: tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/5_catalina_start_3.plantuml URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/5_catalina_start_3.plantuml?rev=1920750&view=auto ============================================================================== --- tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/5_catalina_start_3.plantuml (added) +++ tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/5_catalina_start_3.plantuml Tue Sep 17 11:51:14 2024 @@ -0,0 +1,140 @@ +@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 Host + +Host -> Context ++: start() + +Context -> Context: fireLifecycleEvent(\n BEFORE_START_EVENT) + +Context -> Context ++: startInternal() + +Context -> NamingResourcesImpl ++: start() +NamingResourcesImpl -> NamingResourcesImpl: fireLifecycleEvent(\n BEFORE_START_EVENT) +NamingResourcesImpl -> NamingResourcesImpl ++: startInternal() +NamingResourcesImpl -> NamingResourcesImpl: fireLifecycleEvent(\n START_EVENT) +return +||| +NamingResourcesImpl -> NamingResourcesImpl: fireLifecycleEvent(\n AFTER_START_EVENT) +return + +Context -> Context: postWorkDirectory() + +Context --> StandardRoot ** + +Context -> StandardRoot ++: start() +StandardRoot -> StandardRoot: fireLifecycleEvent(\n BEFORE_START_EVENT) +StandardRoot -> StandardRoot ++: startInternal() +StandardRoot -> StandardRoot: fireLifecycleEvent(\n START_EVENT) +return +||| +StandardRoot -> StandardRoot: fireLifecycleEvent(\n AFTER_START_EVENT) +return + +Context --> WebappLoader ** +Context --> CookieProcessor ** +Context --> CharsetMapper ** + +Context --> WebappLoader ++: start() +WebappLoader -> WebappLoader: fireLifecycleEvent(\n BEFORE_START_EVENT) +WebappLoader -> WebappLoader ++: startInternal() +WebappLoader -> WebappLoader: fireLifecycleEvent(\n START_EVENT) +return +||| +WebappLoader -> WebappLoader: fireLifecycleEvent(\n AFTER_START_EVENT) +return + +Context -> Realm ++: start() +Realm -> Realm: fireLifecycleEvent(\n BEFORE_START_EVENT) +Realm -> Realm ++: startInternal() +Realm -> Realm: fireLifecycleEvent(\n START_EVENT) +return +||| +Realm -> Realm: fireLifecycleEvent(\n AFTER_START_EVENT) +return + +Context -> Context: fireLifecycleEvent(\n CONFIGURE_START_EVENT) + +group Each Wrapper is started sequentially +Context -> Wrapper ++: start() +Wrapper -> Wrapper: fireLifecycleEvent(\n BEFORE_START_EVENT) +Wrapper -> Wrapper ++: startInternal() +Wrapper -> Wrapper: fireLifecycleEvent(\n START_EVENT) +return +||| +Wrapper -> Wrapper: fireLifecycleEvent(\n AFTER_START_EVENT) +return +end group + +Context -> Pipeline ++: start() +Pipeline -> Pipeline: fireLifecycleEvent(\n BEFORE_START_EVENT) +Pipeline -> Pipeline ++: startInternal() + +group Each Valve is started sequentially +Pipeline -> Valve ++: start() +Valve -> Valve: fireLifecycleEvent(\n BEFORE_START_EVENT) +Valve -> Valve ++: startInternal() +Valve -> Valve: fireLifecycleEvent(\n START_EVENT) +return +||| +Valve -> Valve: fireLifecycleEvent(\n AFTER_START_EVENT) +return +end group + +Pipeline -> Pipeline: fireLifecycleEvent(\n START_EVENT) +return +||| +Pipeline -> Pipeline: fireLifecycleEvent(\n AFTER_START_EVENT) +return + +||| +Context --> Manager ** +Context -> Cluster ++: registerManager() +return + +group Each SCI is called sequentially +Context -> SCI ++: onStartUp +return +end group + +Context -> Context: listenerStart() + +Context -> Manager ++: start() +Manager -> Manager: fireLifecycleEvent(\n BEFORE_START_EVENT) +Manager -> Manager ++: startInternal() +Manager -> Manager: fireLifecycleEvent(\n START_EVENT) +return +||| +Manager -> Manager: fireLifecycleEvent(\n AFTER_START_EVENT) +return + +Context -> Context: filterStart() + +Context -> Context: loadOnStartup() + +Context -> Context: fireLifecycleEvent(\n START_EVENT) +return + +||| +Context -> Context: fireLifecycleEvent(\n AFTER_START_EVENT) + +return + +@enduml \ No newline at end of file Added: tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/5_catalina_start_3.png URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/5_catalina_start_3.png?rev=1920750&view=auto ============================================================================== Binary file - no diff available. Propchange: tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/5_catalina_start_3.png ------------------------------------------------------------------------------ svn:mime-type = image/png Added: tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/6_catalina_host_config.plantuml URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/6_catalina_host_config.plantuml?rev=1920750&view=auto ============================================================================== --- tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/6_catalina_host_config.plantuml (added) +++ tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/6_catalina_host_config.plantuml Tue Sep 17 11:51:14 2024 @@ -0,0 +1,90 @@ +@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 Host + +== BEFORE_START_EVENT == + +Host -> HostConfig ++:lifecycleEvent(BEFORE_START_EVENT) + +HostConfig -> HostConfig ++: beforeStart() +return + +return + +== START_EVENT == + +Host -> HostConfig ++:lifecycleEvent(START_EVENT) + +HostConfig -> HostConfig ++: start() + +HostConfig -> HostConfig ++: deployApps() + +||| +HostConfig -> HostConfig ++: migrateLegacyApps() +return + +||| +HostConfig -> HostConfig ++: deployDescriptors() +return + +||| +HostConfig -> HostConfig ++: deployWARs() +return + +||| +HostConfig -> HostConfig ++: deployDirectories() +return + +return + +return + +return + +== PERIODIC_EVENT == + +Host -> HostConfig ++:lifecycleEvent(PERIODIC_EVENT) + +HostConfig -> HostConfig ++: check() + +group Each DeployedApplication is called sequentially +HostConfig -> DeployedApplication ++: checkResources() +note right +Triggers reloading, redeployment +or undeployment as appropriate +depending on which resources have +been added, removed and/or changed. +end note +return +end group + +HostConfig -> HostConfig ++: deployApps() +note right +See START_EVENT for an expansion +of the deployApps() call. +end note +return + +return + +return + +@enduml \ No newline at end of file Added: tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/6_catalina_host_config.png URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/6_catalina_host_config.png?rev=1920750&view=auto ============================================================================== Binary file - no diff available. Propchange: tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/6_catalina_host_config.png ------------------------------------------------------------------------------ svn:mime-type = image/png Added: tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/7_catalina_context_config.plantuml URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/7_catalina_context_config.plantuml?rev=1920750&view=auto ============================================================================== --- tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/7_catalina_context_config.plantuml (added) +++ tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/7_catalina_context_config.plantuml Tue Sep 17 11:51:14 2024 @@ -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 Added: tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/7_catalina_context_config.png URL: http://svn.apache.org/viewvc/tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/7_catalina_context_config.png?rev=1920750&view=auto ============================================================================== Binary file - no diff available. Propchange: tomcat/site/trunk/docs/tomcat-9.0-doc/architecture/startup/7_catalina_context_config.png ------------------------------------------------------------------------------ svn:mime-type = image/png --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org