Issuu on Google+

Bootstrap

Catalina

Digester

ServerLifecycleLis... GlobalResourcesLife...

SecurityConfig

MBeans

Bootstrap

Catalina

Digester

ServerLifecycle GlobalResources Listener LifecycleListener

SecurityConfig

initClassLoaders() newInstance() setParentClassLoader() load()

initDirs() initNaming() initialize()

parse server.xml

createDigester() parse()

newInstance() newInstance() newInstance() setPackageDefinition() setPackageAccess()

#1Catalina.load()

File: C:\Documents and Settings\Administrator\Desktop\Tomcat_5_UML.mdl View / 1. catalina_load Page 1

3:05:37 PM Monday, December 16, 2002

Sequence Diagram: Logical


Catalina

StandardServer

StandardService

CoyoteConnector

Catalina

StandardServer

StandardServic e

CoyoteConnect or

CoyoteAdapter

Http11Protocol

JkCoyoteAdapter

CoyoteAdapter Http11Protocol

JkCoyoteAdapt er

initialize() initialize() initialize() new() new() init() new() init()

#2 Catalina.initialize()

File: C:\Documents and Settings\Administrator\Desktop\Tomcat_5_UML.mdl View / 2. catalina_initliaze Page 2

3:05:37 PM Monday, December 16, 2002

Sequence Diagram: Logical


Bootstrap

Catalina

Bootstrap

Catalina start()

StandardServer

StandardService

StandardEngine

StandardServer StandardServic e

StandardEngine

StandardHost

StandardPipeline

StandardHost StandardPipeline

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

File: C:\Documents and Settings\Administrator\Desktop\Tomcat_5_UML.mdl View / 3. catalina_start Page 3 (1, 1)

3:05:37 PM Monday, December 16, 2002

Sequence Diagram: Logical


StandardHost

HostConfig

StandardHostDeployer

Digester

ContextRuleSet

StandardHost

HostConfig

StandardHostDeployer

Digester

NamingRuleSet

ContextRuleSet NamingRuleSet

fireLifecycleEvent(START_EVENT) interested[i].lifecycleEvent() setDeployXML() setLiveDeploy() setUnpacksWar() setXMLValidation() deployDescriptors() install()

install()

create() new() add(ContextRuleSet)

deployApps() install()

new() add(NamingRuleSet()) parse()

install() // same as above

#2 Catalina.start()

File: C:\Documents and Settings\Administrator\Desktop\Tomcat_5_UML.mdl View / 4. catalina_start_2 Page 5

3:05:37 PM Monday, December 16, 2002

Sequence Diagram: Logical


Digester

Rule

StandardContext

StandardPipeline

StandardContextV...

SetPropertiesRule

SetNextRule

SetPropertiesRule

SetNextRule

HostConfig.deployDescriptor()

Digester

Rule

StandardContext

StandardPipeline

StandardContext Valve

parse startElement() begin()

newInstance()

new() setBasic(StandardContextValve)

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

end()

#3 Catalina.start()

File: C:\Documents and Settings\Administrator\Desktop\Tomcat_5_UML.mdl View / 5. catalina_start_3 Page 6 (1, 1)

3:05:37 PM Monday, December 16, 2002

Sequence Diagram: Logical


Digester

StandardHostDeplo...

StandardHost

StandardContext

WebappLoader

StandardManager ContextConfig StandardWrapper

Deploy App.

Digester

StandardHostDe StandardHost ployer

StandardContex WebappLoader StandardManag t er

StandardWrapp er

parse ContextConfig startElement() addChild

addChild

start()

new

setLoader

new

setManager fireLifecycleEvent(START_EVENT) // Notify interested LifecycleListeners

start()

start()

defaultConfig() applicationConfig() create()

// Process web.xml * tld.xml

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

new

addInstanceListener() addLifecycleListener() addContainerListener() File: C:\Documents and Settings\Administrator\Desktop\Tomcat_5_UML.mdl View / 6. catalina_start_4 Page 8 (1, 1)

3:05:37 PM Monday, December 16, 2002

Sequence Diagram: Logical


Serverstartup