Top Description Fields Constructors Methods
io.undertow.servlet.core

public Class DeploymentManagerImpl

extends Object
implements DeploymentManager
Class Inheritance
All Implemented Interfaces
io.undertow.servlet.api.DeploymentManager
Imports
io.undertow.Handlers, io.undertow.predicate.Predicates, io.undertow.security.api.AuthenticationMechanism, .AuthenticationMechanismFactory, .NotificationReceiver, .SecurityContextFactory, io.undertow.security.handlers.AuthenticationMechanismsHandler, .NotificationReceiverHandler, .SecurityInitialHandler, io.undertow.security.idm.IdentityManager, io.undertow.security.impl.BasicAuthenticationMechanism, .CachedAuthenticatedSessionMechanism, .ClientCertAuthenticationMechanism, .DigestAuthenticationMechanism, .ExternalAuthenticationMechanism, .GenericHeaderAuthenticationMechanism, .SecurityContextFactoryImpl, io.undertow.server.HandlerWrapper, .HttpHandler, .HttpServerExchange, io.undertow.server.handlers.HttpContinueReadHandler, .PredicateHandler, io.undertow.server.handlers.form.FormEncodedDataDefinition, .FormParserFactory, io.undertow.server.session.SessionListener, .SessionManager, io.undertow.servlet.ServletExtension, .UndertowServletLogger, .UndertowServletMessages, io.undertow.servlet.api.AuthMethodConfig, .Deployment, .DeploymentInfo, .DeploymentManager, .ErrorPage, .FilterInfo, .HttpMethodSecurityInfo, .InstanceHandle, .ListenerInfo, .LoginConfig, .MetricsCollector, .MimeMapping, .SecurityConstraint, .SecurityInfo.EmptyRoleSemantic, .ServletContainer, .ServletContainerInitializerInfo, .ServletInfo, .ServletSecurityInfo, .ServletSessionConfig, .ServletStackTraces, .SessionPersistenceManager, .ThreadSetupHandler, .WebResourceCollection, io.undertow.servlet.handlers.CrawlerSessionManagerHandler, .RedirectDirHandler, .SendErrorPageHandler, .ServletDispatchingHandler, .ServletHandler, .ServletInitialHandler, .SessionRestoringHandler, io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler, .SSLInformationAssociationHandler, .SecurityPathMatches, .ServletAuthenticationCallHandler, .ServletAuthenticationConstraintHandler, .ServletConfidentialityConstraintHandler, .ServletFormAuthenticationMechanism, .ServletSecurityConstraintHandler, io.undertow.servlet.predicate.DispatcherTypePredicate, io.undertow.servlet.spec.ServletContextImpl, .SessionCookieConfigImpl, io.undertow.util.MimeMappings, jakarta.servlet.ServletContainerInitializer, .ServletContext, .ServletContextEvent, .ServletContextListener, .ServletException, java.io.File, java.nio.charset.Charset, java.util.ArrayList, .Collections, .HashMap, .HashSet, .LinkedList, .List, .Locale, .Map, .ServiceLoader, .Set, .TreeMap

The deployment manager. This manager is responsible for controlling the lifecycle of a servlet deployment.
Author
Stuart Douglas

Field Summary

Modifier and TypeField and Description
private volatile DeploymentImpl
deployment

Current deployment, this may be modified by SCI's

private final DeploymentInfo
originalDeployment

The original deployment information, this is

private final ServletContainer
private volatile DeploymentManager.State

Constructor Summary

AccessConstructor and Description
public
DeploymentManagerImpl(final DeploymentInfo deployment, final ServletContainer servletContainer)

Method Summary

Modifier and TypeMethod and Description
private SecurityPathMatches
private ApplicationListeners
private void
createServletsAndFilters(final DeploymentImpl deployment, final DeploymentInfo deploymentInfo)

public void
deploy()

Implements io.undertow.servlet.api.DeploymentManager.deploy.

Perform the initial deployment.

public Deployment
public DeploymentManager.State
public void
private HttpHandler
handleDevelopmentModePersistentSessions(HttpHandler next, final DeploymentInfo deploymentInfo, final SessionManager sessionManager, final ServletContextImpl servletContext)

private void
handleExtensions(final DeploymentInfo deploymentInfo, final ServletContextImpl servletContext)

private void
initializeErrorPages(final DeploymentImpl deployment, final DeploymentInfo deploymentInfo)

private void
initializeMimeMappings(final DeploymentImpl deployment, final DeploymentInfo deploymentInfo)

private void
initializeTempDir(final ServletContextImpl servletContext, final DeploymentInfo deploymentInfo)

private HttpHandler
setupSecurityHandlers(HttpHandler
The handler to wrap with security handlers
initialHandler
)

sets up the outer security handlers.

public HttpHandler
start()

Implements io.undertow.servlet.api.DeploymentManager.start.

Starts the container.

public void
public void
private static HttpHandler
wrapHandlers(final HttpHandler wrapee, final List<HandlerWrapper> wrappers)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

deploymentback to summary
private volatile DeploymentImpl deployment

Current deployment, this may be modified by SCI's

originalDeploymentback to summary
private final DeploymentInfo originalDeployment

The original deployment information, this is

servletContainerback to summary
private final ServletContainer servletContainer
stateback to summary
private volatile DeploymentManager.State state

Constructor Detail

DeploymentManagerImplback to summary
public DeploymentManagerImpl(final DeploymentInfo deployment, final ServletContainer servletContainer)

Method Detail

buildSecurityConstraintsback to summary
private SecurityPathMatches buildSecurityConstraints()
createListenersback to summary
private ApplicationListeners createListeners()
createServletsAndFiltersback to summary
private void createServletsAndFilters(final DeploymentImpl deployment, final DeploymentInfo deploymentInfo)
deployback to summary
public void deploy()

Implements io.undertow.servlet.api.DeploymentManager.deploy.

Doc from io.undertow.servlet.api.DeploymentManager.deploy.

Perform the initial deployment. The builds all the internal metadata needed to support the servlet deployment, but will not actually start any servlets

Annotations
@Override
getDeploymentback to summary
public Deployment getDeployment()

Implements io.undertow.servlet.api.DeploymentManager.getDeployment.

Annotations
@Override
getStateback to summary
public DeploymentManager.State getState()

Implements io.undertow.servlet.api.DeploymentManager.getState.

Annotations
@Override
handleDeploymentSessionConfigback to summary
public void handleDeploymentSessionConfig(DeploymentInfo deploymentInfo, ServletContextImpl servletContext)
handleDevelopmentModePersistentSessionsback to summary
private HttpHandler handleDevelopmentModePersistentSessions(HttpHandler next, final DeploymentInfo deploymentInfo, final SessionManager sessionManager, final ServletContextImpl servletContext)
handleExtensionsback to summary
private void handleExtensions(final DeploymentInfo deploymentInfo, final ServletContextImpl servletContext)
initializeErrorPagesback to summary
private void initializeErrorPages(final DeploymentImpl deployment, final DeploymentInfo deploymentInfo)
initializeMimeMappingsback to summary
private void initializeMimeMappings(final DeploymentImpl deployment, final DeploymentInfo deploymentInfo)
initializeTempDirback to summary
private void initializeTempDir(final ServletContextImpl servletContext, final DeploymentInfo deploymentInfo)
setupSecurityHandlersback to summary
private HttpHandler setupSecurityHandlers(HttpHandler initialHandler)

sets up the outer security handlers.

the handler that actually performs the access check happens later in the chain, it is not setup here

Parameters
initialHandler:HttpHandler

The handler to wrap with security handlers

startback to summary
public HttpHandler start() throws ServletException

Implements io.undertow.servlet.api.DeploymentManager.start.

Doc from io.undertow.servlet.api.DeploymentManager.start.

Starts the container. Any Servlets with init on startup will be created here. This method returns the servlet path handler, which must then be added into the appropriate place in the path handler tree.

Annotations
@Override
stopback to summary
public void stop() throws ServletException

Implements io.undertow.servlet.api.DeploymentManager.stop.

Annotations
@Override
undeployback to summary
public void undeploy()

Implements io.undertow.servlet.api.DeploymentManager.undeploy.

Annotations
@Override
wrapHandlersback to summary
private static HttpHandler wrapHandlers(final HttpHandler wrapee, final List<HandlerWrapper> wrappers)