Search in sources :

Example 1 with DeploymentImpl

use of io.undertow.servlet.core.DeploymentImpl in project spring-boot by spring-projects.

the class UndertowServletWebServerFactory method createManager.

private DeploymentManager createManager(ServletContextInitializer... initializers) {
    DeploymentInfo deployment = Servlets.deployment();
    registerServletContainerInitializerToDriveServletContextInitializers(deployment, initializers);
    deployment.setClassLoader(getServletClassLoader());
    deployment.setContextPath(getContextPath());
    deployment.setDisplayName(getDisplayName());
    deployment.setDeploymentName("spring-boot");
    if (isRegisterDefaultServlet()) {
        deployment.addServlet(Servlets.servlet("default", DefaultServlet.class));
    }
    configureErrorPages(deployment);
    deployment.setServletStackTraces(ServletStackTraces.NONE);
    deployment.setResourceManager(getDocumentRootResourceManager());
    deployment.setTempDir(createTempDir("undertow"));
    deployment.setEagerFilterInit(this.eagerFilterInit);
    deployment.setPreservePathOnForward(this.preservePathOnForward);
    configureMimeMappings(deployment);
    configureWebListeners(deployment);
    for (UndertowDeploymentInfoCustomizer customizer : this.deploymentInfoCustomizers) {
        customizer.customize(deployment);
    }
    if (getSession().isPersistent()) {
        File dir = getValidSessionStoreDir();
        deployment.setSessionPersistenceManager(new FileSessionPersistence(dir));
    }
    addLocaleMappings(deployment);
    DeploymentManager manager = Servlets.newContainer().addDeployment(deployment);
    manager.deploy();
    if (manager.getDeployment() instanceof DeploymentImpl) {
        removeSuperfluousMimeMappings((DeploymentImpl) manager.getDeployment(), deployment);
    }
    SessionManager sessionManager = manager.getDeployment().getSessionManager();
    Duration timeoutDuration = getSession().getTimeout();
    int sessionTimeout = (isZeroOrLess(timeoutDuration) ? -1 : (int) timeoutDuration.getSeconds());
    sessionManager.setDefaultSessionTimeout(sessionTimeout);
    return manager;
}
Also used : DeploymentManager(io.undertow.servlet.api.DeploymentManager) SessionManager(io.undertow.server.session.SessionManager) DeploymentImpl(io.undertow.servlet.core.DeploymentImpl) Duration(java.time.Duration) DefaultServlet(io.undertow.servlet.handlers.DefaultServlet) DeploymentInfo(io.undertow.servlet.api.DeploymentInfo) File(java.io.File)

Aggregations

SessionManager (io.undertow.server.session.SessionManager)1 DeploymentInfo (io.undertow.servlet.api.DeploymentInfo)1 DeploymentManager (io.undertow.servlet.api.DeploymentManager)1 DeploymentImpl (io.undertow.servlet.core.DeploymentImpl)1 DefaultServlet (io.undertow.servlet.handlers.DefaultServlet)1 File (java.io.File)1 Duration (java.time.Duration)1