This is an automated email from the ASF dual-hosted git repository.
markt pushed a commit to branch 9.0.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/9.0.x by this push:
new 9f3554b831 Convert diagram 3, the first part of the start process
9f3554b831 is described below
commit 9f3554b83165a4af4c0c046fb91988dd15439cc0
Author: Mark Thomas <[email protected]>
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: [email protected]
For additional commands, e-mail: [email protected]