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

Reply via email to