Professional Documents
Culture Documents
Server Start Up
Server Start Up
Catalina
Digester
ServerLifecycleLis... GlobalResourcesLife...
SecurityConfig
MBeans
Bootstrap
Catalina
Digester
SecurityConfig
initDirs() initNaming() initialize() createDigester() parse() newInstance() newInstance() newInstance() setPackageDefinition() setPackageAccess() parse server.xml
#1Catalina.load()
Catalina
StandardServer
StandardService
CoyoteConnector
CoyoteAdapter
Http11Protocol
JkCoyoteAdapter
Catalina
StandardServer
StandardServic e
CoyoteConnect or
CoyoteAdapter Http11Protocol
JkCoyoteAdapt er
#2 Catalina.initialize()
Bootstrap
Catalina
StandardServer
StandardService
StandardEngine
StandardHost
StandardPipeline
Bootstrap start()
Catalina
StandardEngine
StandardHost StandardPipeline
fireLifecycleEvent(BEFORE_START_EVENT) fireLifecycleEvent(START_EVENT) start() fireLifecycleEvent(BEFORE_START_EVENT) fireLifecycleEvent(START_EVENT) start() fireLifecycleEvent(BEFORE_START_EVENT) addDefaultMapper() logger.start() realm.start() #1 Catalina.start() findMappers() All StandardX will fire these events. findChildren() start() fireLifecycleEvent(BEFORE_START_EVENT) addDefaultMapper() logger.start() findMapper() findChildren() start() fireLifecycleEvent(AFTER_EVENT) fireLifecycleEvent(BEFORE_START_EVENT) fireLifecycleEvent(START_EVENT)
StandardHost
HostConfig
StandardHostDeployer
Digester
ContextRuleSet
NamingRuleSet
StandardHost
HostConfig
StandardHostDeployer
Digester
ContextRuleSet NamingRuleSet
install()
deployApps() install()
#2 Catalina.start()
Digester
Rule
StandardContext
StandardPipeline
StandardContextV...
SetPropertiesRule
SetNextRule
HostConfig.deployDescriptor()
Digester parse
Rule
StandardContext
StandardPipeline
StandardContext Valve
SetPropertiesRule
SetNextRule
new() setBasic(StandardContextValve)
begin() //Using BeanUtil, set the object properties (from ex: admin.xml)
end()
#3 Catalina.start()
Digester
StandardHostDeplo...
StandardHost
StandardContext
WebappLoader
Deploy App.
Digester parse
StandardWrapp er
start()
new
setLoader
new
start()
start()
new