From f5f116d68f54c61862ae57adc7b5904d5a50a000 Mon Sep 17 00:00:00 2001 From: Andy Wilkinson Date: Fri, 17 Jun 2016 15:53:30 +0100 Subject: [PATCH] Make configuration of lazy session ID generator compatible with Tomcat 7 See gh-6174 --- .../tomcat/TomcatEmbeddedServletContainerFactory.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/spring-boot/src/main/java/org/springframework/boot/context/embedded/tomcat/TomcatEmbeddedServletContainerFactory.java b/spring-boot/src/main/java/org/springframework/boot/context/embedded/tomcat/TomcatEmbeddedServletContainerFactory.java index c78714eca79..96477db2e4c 100644 --- a/spring-boot/src/main/java/org/springframework/boot/context/embedded/tomcat/TomcatEmbeddedServletContainerFactory.java +++ b/spring-boot/src/main/java/org/springframework/boot/context/embedded/tomcat/TomcatEmbeddedServletContainerFactory.java @@ -44,6 +44,7 @@ import org.apache.catalina.Valve; import org.apache.catalina.Wrapper; import org.apache.catalina.connector.Connector; import org.apache.catalina.loader.WebappLoader; +import org.apache.catalina.session.ManagerBase; import org.apache.catalina.session.StandardManager; import org.apache.catalina.startup.Tomcat; import org.apache.catalina.startup.Tomcat.FixContextListener; @@ -815,8 +816,9 @@ public class TomcatEmbeddedServletContainerFactory if (event.getType().equals(Lifecycle.START_EVENT)) { Context context = (Context) event.getLifecycle(); Manager manager = context.getManager(); - if (manager != null) { - manager.setSessionIdGenerator(new LazySessionIdGenerator()); + if (manager instanceof ManagerBase) { + ((ManagerBase) manager) + .setSessionIdGenerator(new LazySessionIdGenerator()); } } }