Skip to content

Commit

Permalink
Fix tomcat session timeout
Browse files Browse the repository at this point in the history
  • Loading branch information
wadahiro committed Sep 6, 2019
1 parent 503bcb1 commit 6d9ef52
Showing 1 changed file with 18 additions and 1 deletion.
Expand Up @@ -20,6 +20,7 @@
import com.evolveum.midpoint.gui.impl.registry.GuiComponentRegistryImpl;
import com.evolveum.midpoint.util.logging.Trace;
import com.evolveum.midpoint.util.logging.TraceManager;
import org.apache.catalina.Context;
import org.apache.catalina.Valve;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
Expand All @@ -31,6 +32,7 @@
import org.springframework.boot.autoconfigure.web.ServerProperties;
import org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryCustomizer;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.embedded.tomcat.TomcatContextCustomizer;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.boot.web.server.ErrorPage;
import org.springframework.boot.web.server.WebServerFactoryCustomizer;
Expand All @@ -45,6 +47,8 @@

import java.lang.management.ManagementFactory;
import java.time.Duration;
import java.util.ArrayList;
import java.util.List;

/**
* Created by Viliam Repan (lazyman).
Expand Down Expand Up @@ -147,6 +151,8 @@ public class ServerCustomization implements WebServerFactoryCustomizer<Configura

@Value("${server.servlet.session.timeout}")
private int sessionTimeout;
@Value("${server.tomcat.background-processor-delay:10}")
private int backgroundProcessorDelay;
@Value("${server.servlet.context-path}")
private String servletPath;

Expand Down Expand Up @@ -180,11 +186,22 @@ public void customize(ConfigurableServletWebServerFactory server) {
}

private void customizeTomcat(TomcatServletWebServerFactory tomcatFactory) {
// Set background-processor-delay property.
TomcatContextCustomizer contextCustomizer = new TomcatContextCustomizer() {
@Override
public void customize(Context context) {
context.setBackgroundProcessorDelay(backgroundProcessorDelay);
}
};
List<TomcatContextCustomizer> contextCustomizers = new ArrayList<TomcatContextCustomizer>();
contextCustomizers.add(contextCustomizer);
tomcatFactory.setTomcatContextCustomizers(contextCustomizers);

// Tomcat valve used to redirect root URL (/) to real application URL (/midpoint/).
// See comments in TomcatRootValve
Valve rootValve = new TomcatRootValve(servletPath);
tomcatFactory.addEngineValves(rootValve);
}

}
}
}

0 comments on commit 6d9ef52

Please sign in to comment.