@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
activate Server
activate "Global\nNaming\nResources"
activate Services
activate Engine
activate Executors
activate MapperListener
activate Connectors
activate Protocol

Catalina -> Server: init()

Server -> "Global\nNaming\nResources" : init()
Server -> "Service(s)" as Services: init()

Services -> Engine: init()
Services -> "Executor(s)" as Executors: init()
Services -> "Mapper\nListener" as MapperListener: init()
Services -> "Connector(s)" as Connectors: init()

Connectors -->> CoyoteAdapter **
activate CoyoteAdapter

Connectors -> Protocol: setAdapter()
Connectors -> Protocol: init()

@enduml