Skip to content

Instantly share code, notes, and snippets.

@gregw
Created November 20, 2018 10:25
Show Gist options
  • Save gregw/1af4c2fdc51805423d7e587965e12762 to your computer and use it in GitHub Desktop.
Save gregw/1af4c2fdc51805423d7e587965e12762 to your computer and use it in GitHub Desktop.
note over Application: Current Behaviour
Application->+QuickStartWebApp: doStart
QuickStartWebApp->+WebAppContext: doStart
WebAppContext->+ServletContextHandler:doStart
ServletContextHandler->+ContextHandler:doStart
ContextHandler->+WebAppContext:startContext
WebAppContext->+MetaData:resolve
MetaData->*Listeners:new
MetaData->*ListenerHolders:new(listeners)
MetaData->ContextHandler:addListener
MetaData->ServletHandler:addListenerHolder
MetaData-->-WebAppContext:
WebAppContext->+QuickStartWebApp:startWebapp
note over QuickStartWebApp: May abort start here.
QuickStartWebApp->+WebAppContext:startWebapp
WebAppContext->+ServletContextHandler:startContext
ServletContextHandler->Listeners:decorate
ServletContextHandler->+ContextHandler:startContext
ContextHandler->ScopedHandler:doStart
ContextHandler->Listeners:contextInitialized
ContextHandler-->-ServletContextHandler:
ServletContextHandler-->-WebAppContext:
WebAppContext-->-QuickStartWebApp:
QuickStartWebApp-->-WebAppContext:
WebAppContext-->-ContextHandler:
ContextHandler-->-ServletContextHandler:
ServletContextHandler-->-WebAppContext:
WebAppContext-->-QuickStartWebApp:
destroy Listeners
destroy ListenerHolders
note over Application: Proposed Behaviour
Application->+QuickStartWebApp: doStart
QuickStartWebApp->+WebAppContext: doStart
WebAppContext->+ServletContextHandler:doStart
ServletContextHandler->+ContextHandler:doStart
ContextHandler->+WebAppContext:startContext
WebAppContext->+MetaData:resolve
MetaData->*ListenerHolders:new
MetaData->ServletHandler:addListenerHolder
MetaData-->-WebAppContext:
WebAppContext->+QuickStartWebApp:startWebapp
note over QuickStartWebApp: May abort start here.
QuickStartWebApp->+WebAppContext:startWebapp
WebAppContext->+ServletContextHandler:startContext
ServletContextHandler->ServletHandler:getListenerHolders
ServletContextHandler->+ListenerHolders:start
ListenerHolders->*Listeners:new
ListenerHolders-->-ServletContextHandler:
ServletContextHandler->ContextHandler:addListener
ServletContextHandler->Listeners:decorate
ServletContextHandler->+ContextHandler:startContext
ContextHandler->ScopedHandler:doStart
ContextHandler->Listeners:contextInitialized
ContextHandler-->-ServletContextHandler:
ServletContextHandler-->-WebAppContext:
WebAppContext-->-QuickStartWebApp:
QuickStartWebApp-->-WebAppContext:
WebAppContext-->-ContextHandler:
ContextHandler-->-ServletContextHandler:
ServletContextHandler-->-WebAppContext:
WebAppContext-->-QuickStartWebApp:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment