This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch 10.1.x in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/10.1.x by this push: new 0532aeca50 Convert diagram 3, the first part of the start process 0532aeca50 is described below commit 0532aeca5033324cb9703701fcec9cb447d9f8a8 Author: Mark Thomas <ma...@apache.org> AuthorDate: Fri Sep 6 16:39:21 2024 +0100 Convert diagram 3, the first part of the start process --- webapps/docs/architecture/startup.xml | 6 +- .../architecture/startup/3_catalina_start_1.png | Bin 0 -> 158971 bytes .../architecture/startup/3_catalina_start_1.uml | 154 +++++++++++++++++++++ 3 files changed, 158 insertions(+), 2 deletions(-) diff --git a/webapps/docs/architecture/startup.xml b/webapps/docs/architecture/startup.xml index 6bdd7d1b38..10d423ec3b 100644 --- a/webapps/docs/architecture/startup.xml +++ b/webapps/docs/architecture/startup.xml @@ -80,8 +80,10 @@ only has one. Each Service may have multiple Connectors. A Connector instance is associated with a single Protocol instance and a single CoyoteAdapter instance. </p> <p> -Diagram 3 will show how the Server initialises the Service(s), Engine(s) and -Host(s). +<a href="startup/3_catalina_start_1.png">Diagram 3</a> shows how Tomcat starts +the objects created by the Digester that were initialized in the previous step. +This diagram also shows when lifecycle events are fired. There is more detail to +the starting of the Engine which is shown inthe following diagram. </p> <p> Diagram 4 will show how the Host initialises the Context(s). diff --git a/webapps/docs/architecture/startup/3_catalina_start_1.png b/webapps/docs/architecture/startup/3_catalina_start_1.png new file mode 100644 index 0000000000..3d8d57fbaa Binary files /dev/null and b/webapps/docs/architecture/startup/3_catalina_start_1.png differ diff --git a/webapps/docs/architecture/startup/3_catalina_start_1.uml b/webapps/docs/architecture/startup/3_catalina_start_1.uml new file mode 100644 index 0000000000..2872395dd4 --- /dev/null +++ b/webapps/docs/architecture/startup/3_catalina_start_1.uml @@ -0,0 +1,154 @@ +@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() +activate Server + +Server -> Server: fireLifecycleEvent(\n BEFORE_START_EVENT) + +Server -> Server: startInternal() +activate Server + +Server -> Server: fireLifecycleEvent(\n CONFIGURE_START_EVENT) +Server -> Server: fireLifecycleEvent(\n START_EVENT) + +Server -> "Global\nNaming\nResources" as GNR: start() +activate GNR + +GNR -> GNR: fireLifecycleEvent(\n BEFORE_START_EVENT) +GNR -> GNR: startInternal() +activate GNR + +GNR -> GNR: fireLifecycleEvent(\n CONFIGURE_START_EVENT) +GNR -> GNR: fireLifecycleEvent(\n START_EVENT) + +GNR -->> GNR +deactivate GNR + +GNR -> GNR: fireLifecycleEvent(\n AFTER_START_EVENT) + +Server <<-- GNR +deactivate GNR + +Server -> "Service(s)" as Services: start() +activate Services + +Services -> Services: fireLifecycleEvent(\n BEFORE_START_EVENT) + +Services -> Services: startInternal() +activate Services + +Services -> Services: fireLifecycleEvent(\n START_EVENT) + +Services -> Engine: start() +activate Engine + +Engine -> Engine: fireLifecycleEvent(\n BEFORE_START_EVENT) + +Engine -> Engine: startInternal() +activate Engine + +Engine -> Engine: fireLifecycleEvent(\n START_EVENT) + +Engine -->> Engine +deactivate Engine + +Engine -> Engine: fireLifecycleEvent(\n AFTER_START_EVENT) + +Services <<-- Engine +deactivate Engine + +Services -> "Executor(s)" as Executors: start() +activate Executors + +Executors -> Executors: fireLifecycleEvent(\n BEFORE_START_EVENT) + +Executors -> Executors: startInternal() +activate Executors + +Executors -> Executors: fireLifecycleEvent(\n START_EVENT) + +Executors -->> Executors +deactivate Executors + +Executors -> Executors: fireLifecycleEvent(\n AFTER_START_EVENT) + +Services <<-- Executors +deactivate Executors + +Services -> "Mapper\nListener" as MapperListener: start() +activate MapperListener + +MapperListener -> MapperListener: fireLifecycleEvent(\n BEFORE_START_EVENT) + +MapperListener -> MapperListener: startInternal() +activate MapperListener + +MapperListener -> MapperListener: fireLifecycleEvent(\n START_EVENT) + +MapperListener -->> MapperListener +deactivate MapperListener + +MapperListener -> MapperListener: fireLifecycleEvent(\n AFTER_START_EVENT) + +Services <<-- MapperListener +deactivate MapperListener + +Services -> "Connector(s)" as Connectors: start() +activate Connectors + +Connectors -> Connectors: fireLifecycleEvent(\n BEFORE_START_EVENT) +Connectors -> Connectors: startInternal() +activate Connectors + +Connectors -> Connectors: fireLifecycleEvent(\n START_EVENT) + +Connectors -> Protocol: start() +activate Protocol +Connectors <<-- Protocol +deactivate Protocol + +Connectors -->> Connectors +deactivate Connectors + +Connectors -> Connectors: fireLifecycleEvent(\n AFTER_INIT_EVENT) + +Services <<-- Connectors +deactivate Connectors + +Services -->> Services +deactivate Services + +Services -> Services: fireLifecycleEvent(\n AFTER_START_EVENT) + +Server <<-- Services +deactivate Services + +Server -->> Server +deactivate Server + +Server -> Server: fireLifecycleEvent(\n AFTER_START_EVENT) + +Server -->> Catalina +deactivate Server + +@enduml \ No newline at end of file --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org