bootstrap digester serverlifecycle catalina ... · bootstrap catalina digester...

6
Bootstrap Digester ServerLifecycleLis... GlobalResourcesLife... SecurityConfig Catalina Bootstrap Digester ServerLifecycle Listener GlobalResources LifecycleListener SecurityConfig initClassLoaders() parse server.xml MBeans #1Catalina.load() Catalina initDirs() initNaming() initialize() newInstance() setParentClassLoader() load() createDigester() parse() newInstance() newInstance() newInstance() setPackageDefinition() setPackageAccess() File: C:\Documents and Settings\Administrator\Desktop\Tomcat_5_UML.mdl 3:05:37 PM Monday, December 16, 2002 Sequence Diagram: Logical View / 1. catalina_load Page 1

Upload: dinhnhan

Post on 14-Jun-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Bootstrap Digester ServerLifecycle Catalina ... · Bootstrap Catalina Digester ServerLifecycleLis... GlobalResourcesLife... SecurityConfig Bootstrap Digester ServerLifecycle Listener

Bootstrap Digester ServerLifecycleLis... GlobalResourcesLife... SecurityConfigCatalina

Bootstrap Digester ServerLifecycleListener

GlobalResourcesLifecycleListener

SecurityConfig

initClassLoaders()

parse server.xml

MBeans

#1Catalina.load()

Catalina

initDirs()

initNaming()

initialize()

newInstance()

setParentClassLoader()

load()

createDigester()

parse() newInstance()

newInstance()

newInstance()

setPackageDefinition()

setPackageAccess()

File: C:\Documents and Settings\Administrator\Desktop\Tomcat_5_UML.mdl 3:05:37 PM Monday, December 16, 2002 Sequence Diagram: Logical View / 1. catalina_load Page 1

Page 2: Bootstrap Digester ServerLifecycle Catalina ... · Bootstrap Catalina Digester ServerLifecycleLis... GlobalResourcesLife... SecurityConfig Bootstrap Digester ServerLifecycle Listener

Catalina StandardServer StandardService CoyoteConnector CoyoteAdapter Http11Protocol JkCoyoteAdapter

Catalina StandardServer StandardService

CoyoteConnector

CoyoteAdapter Http11Protocol JkCoyoteAdapter

initialize()

initialize()initialize()

new()

new()

init()

new()

init()

#2 Catalina.initialize()

File: C:\Documents and Settings\Administrator\Desktop\Tomcat_5_UML.mdl 3:05:37 PM Monday, December 16, 2002 Sequence Diagram: Logical View / 2. catalina_initliaze Page 2

Page 3: Bootstrap Digester ServerLifecycle Catalina ... · Bootstrap Catalina Digester ServerLifecycleLis... GlobalResourcesLife... SecurityConfig Bootstrap Digester ServerLifecycle Listener

Bootstrap Catalina StandardServer StandardService StandardEngine StandardHost StandardPipeline

Bootstrap Catalina StandardServer StandardService

StandardEngine StandardHost StandardPipeline

start()start()

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()

findMappers()

findChildren()

start()

fireLifecycleEvent(BEFORE_START_EVENT)

addDefaultMapper()

start()

logger.start()

findMapper()

findChildren()

#1 Catalina.start()

fireLifecycleEvent(BEFORE_START_EVENT)

fireLifecycleEvent(START_EVENT)

fireLifecycleEvent(AFTER_EVENT)

All StandardX will fire these events.

File: C:\Documents and Settings\Administrator\Desktop\Tomcat_5_UML.mdl 3:05:37 PM Monday, December 16, 2002 Sequence Diagram: LogicalView / 3. catalina_start Page 3 (1, 1)

Page 4: Bootstrap Digester ServerLifecycle Catalina ... · Bootstrap Catalina Digester ServerLifecycleLis... GlobalResourcesLife... SecurityConfig Bootstrap Digester ServerLifecycle Listener

StandardHost HostConfig StandardHostDeployer Digester ContextRuleSet NamingRuleSet

StandardHost HostConfig StandardHostDeployer Digester ContextRuleSet NamingRuleSet

fireLifecycleEvent(START_EVENT)

interested[i].lifecycleEvent()

setDeployXML()

setLiveDeploy()

setUnpacksWar()

setXMLValidation()

deployDescriptors()

install()

install() create()

parse()

new()

new()

add(ContextRuleSet)

add(NamingRuleSet())

#2 Catalina.start()

deployApps()

install()

install() // same as above

File: C:\Documents and Settings\Administrator\Desktop\Tomcat_5_UML.mdl 3:05:37 PM Monday, December 16, 2002 Sequence Diagram: Logical View / 4. catalina_start_2 Page 5

Page 5: Bootstrap Digester ServerLifecycle Catalina ... · Bootstrap Catalina Digester ServerLifecycleLis... GlobalResourcesLife... SecurityConfig Bootstrap Digester ServerLifecycle Listener

Digester Rule StandardContext StandardPipeline StandardContextV... SetPropertiesRule SetNextRule

Digester Rule StandardContext StandardPipeline StandardContextValve

SetPropertiesRule SetNextRule

parse

startElement()

begin()newInstance()

begin()

setBasic(StandardContextValve)

new()

//Using BeanUtil, set the object properties (from ex: admin.xml)

end()

HostConfig.deployDescriptor()

#3 Catalina.start()

File: C:\Documents and Settings\Administrator\Desktop\Tomcat_5_UML.mdl 3:05:37 PM Monday, December 16, 2002 Sequence Diagram: Logical View / 5. catalina_start_3 Page 6 (1, 1)

Page 6: Bootstrap Digester ServerLifecycle Catalina ... · Bootstrap Catalina Digester ServerLifecycleLis... GlobalResourcesLife... SecurityConfig Bootstrap Digester ServerLifecycle Listener

Digester StandardHostDeplo... StandardHost StandardContext WebappLoader StandardManagerContextConfig StandardWrapper

Digester StandardHostDeployer

StandardHost StandardContext

WebappLoader StandardManager

ContextConfigparse

startElement()

addChild addChildstart() new

setLoadernew

setManager

fireLifecycleEvent(START_EVENT) // Notify interested LifecycleListeners

start()

defaultConfig()

applicationConfig()

start()

create()

// Process web.xml * tld.xml

StandardWrapper

createWarpper() // Invoked by a WebWrapperRule (not Directly by the Digester)new

addInstanceListener()

addLifecycleListener()

addContainerListener()

Deploy App.

File: C:\Documents and Settings\Administrator\Desktop\Tomcat_5_UML.mdl 3:05:37 PM Monday, December 16, 2002 Sequence Diagram: Logical View / 6. catalina_start_4 Page 8 (1, 1)