1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
|
@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 Bootstrap
Bootstrap -> Bootstrap: initClassLoaders()
Bootstrap -->> Catalina ** : newInstance()
Bootstrap -> Catalina ++: setParentClassLoader()
|||
return
Bootstrap -> Catalina ++: start()
Catalina -> Catalina ++: load()
Catalina -> Catalina: initNaming()
Catalina -> Catalina ++: parseServerXml()
Catalina -->> Digester ** :
note right of Digester
The digester creates all
of the objects defined in
//server.xml// but only the
Server is shown here for
simplicity
end note
Catalina -> Digester ++: parse()
Digester -->> Server ** :
return
return
|||
Catalina -> Catalina: initStream()
group More detail in diagram 2
Catalina -> Server ++: init()
|||
return
end
return
|||
group More detail in diagram 3
Catalina -> Server ++: start()
|||
return
end
|||
Catalina -> Catalina ++: await()
note right of Catalina
This is where Tomcat spends
time serving requests
end note
return
|||
Catalina -> Catalina ++: stop()
Catalina -> Server ++: stop()
|||
return
Catalina -> Server ++: destroy()
|||
return
return
return
deactivate Bootstrap
@enduml
|