Nice to see, that plantuml really works.

We could use a few shortcuts to make the code more readable(?).

* activating an actor can be done by adding "++" to the message line, so instead of writing
    a -> b: message()
    activate b

   we could shorten it to
   a -> b ++: message()

* deactivating an actor directly after a return message, can be shortened using "return"

   a <<-- b
   deactivate b

   can be replaced by

    return

Another thing worth to mention might be, that the plantuml plug-in in VS Code will look at the file ending and expect it to be one of |*.wsd|,|*.pu|,|*.puml|,|*.plantuml|,|*.iuml|

|Kind regards|

| Felix
|

Am 06.09.24 um 16:36 schrieb ma...@apache.org:
This is an automated email from the ASF dual-hosted git repository.

markt pushed a commit to branch 9.0.x
in repositoryhttps://gitbox.apache.org/repos/asf/tomcat.git


The following commit(s) were added to refs/heads/9.0.x by this push:
      new 4fb0e474f4 Add lifecycle events, correct activation, use aliases 
correctly
4fb0e474f4 is described below

commit 4fb0e474f4a10b76fc6f47c8c2c4538c2d3c8c4e
Author: Mark Thomas<ma...@apache.org>
AuthorDate: Fri Sep 6 15:32:51 2024 +0100

     Add lifecycle events, correct activation, use aliases correctly
---
  .../docs/architecture/startup/2_catalina_init.png  | Bin 30440 -> 114077 bytes
  .../docs/architecture/startup/2_catalina_init.uml  |  95 ++++++++++++++++++---
  2 files changed, 85 insertions(+), 10 deletions(-)

diff --git a/webapps/docs/architecture/startup/2_catalina_init.png 
b/webapps/docs/architecture/startup/2_catalina_init.png
index 9c8aef0ef8..63a31d6a81 100644
Binary files a/webapps/docs/architecture/startup/2_catalina_init.png and 
b/webapps/docs/architecture/startup/2_catalina_init.png differ
diff --git a/webapps/docs/architecture/startup/2_catalina_init.uml 
b/webapps/docs/architecture/startup/2_catalina_init.uml
index b02d57f5a3..de8b3432f5 100644
--- a/webapps/docs/architecture/startup/2_catalina_init.uml
+++ b/webapps/docs/architecture/startup/2_catalina_init.uml
@@ -19,29 +19,104 @@ hide footbox
  skinparam style strictuml
activate Catalina
-activate Server
-activate "Global\nNaming\nResources"
-activate Services
-activate Engine
-activate Executors
-activate MapperListener
-activate Connectors
-activate Protocol
Catalina -> Server: init()
+activate Server
+
+Server -> Server: fireLifecycleEvent(\n    BEFORE_INIT_EVENT)
+
+Server -> Server: initInternal()
+activate Server
+
+Server -> "Global\nNaming\nResources" as GNR: init()
+activate GNR
+
+GNR -> GNR: fireLifecycleEvent(\n    BEFORE_INIT_EVENT)
+GNR -> GNR: initInternal()
+GNR -> GNR: fireLifecycleEvent(\n    AFTER_INIT_EVENT)
+
+Server  <<-- GNR
+deactivate GNR
-Server -> "Global\nNaming\nResources" : init()
  Server -> "Service(s)" as Services: init()
+activate Services
+
+Services -> Services: fireLifecycleEvent(\n    BEFORE_INIT_EVENT)
+
+Services -> Services: initInternal()
+activate Services
Services -> Engine: init()
+activate Engine
+
+Engine -> Engine: fireLifecycleEvent(\n    BEFORE_INIT_EVENT)
+Engine -> Engine: initInternal()
+Engine -> Engine: fireLifecycleEvent(\n    AFTER_INIT_EVENT)
+
+Services <<-- Engine
+deactivate Engine
+
  Services -> "Executor(s)" as Executors: init()
+activate Executors
+
+Executors -> Executors: fireLifecycleEvent(\n    BEFORE_INIT_EVENT)
+Executors -> Executors: initInternal()
+Executors -> Executors: fireLifecycleEvent(\n    AFTER_INIT_EVENT)
+
+Services <<-- Executors
+deactivate Executors
+
  Services -> "Mapper\nListener" as MapperListener: init()
+activate MapperListener
+
+MapperListener -> MapperListener: fireLifecycleEvent(\n    BEFORE_INIT_EVENT)
+MapperListener -> MapperListener: initInternal()
+MapperListener -> MapperListener: fireLifecycleEvent(\n    AFTER_INIT_EVENT)
+
+Services <<-- MapperListener
+deactivate MapperListener
+
  Services -> "Connector(s)" as Connectors: init()
+activate Connectors
+
+Connectors -> Connectors: fireLifecycleEvent(\n    BEFORE_INIT_EVENT)
+Connectors -> Connectors: initInternal()
+activate Connectors
Connectors -->> CoyoteAdapter **
-activate CoyoteAdapter
Connectors -> Protocol: setAdapter()
+activate Protocol
+Connectors <<-- Protocol
+deactivate Protocol
+
  Connectors -> Protocol: init()
+activate Protocol
+Connectors <<-- Protocol
+deactivate Protocol
+
+Connectors -->> Connectors
+deactivate Connectors
+
+Connectors -> Connectors: fireLifecycleEvent(\n    AFTER_INIT_EVENT)
+
+Services <<-- Connectors
+deactivate Connectors
+
+Services -> Services: fireLifecycleEvent(\n    AFTER_INIT_EVENT)
+
+Services -->> Services
+deactivate Services
+
+Server <<-- Services
+deactivate Services
+
+Server -->> Server
+deactivate Server
+
+Server -> Server: fireLifecycleEvent(\n    AFTER_INIT_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

Attachment: OpenPGP_0xEA6C3728EA91C4AF.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to