Search code examples
javaspring-bootjsessionid

Spring boot configure custom jsessionid for embedded server


I want to configure my servlet context, such as setting a custom jsessionId key (see Changing cookie JSESSIONID name)

I believe I can use the SpringBootServletInitializer when running a WAR file, manipulating the servletContext in onStartup(). However, when I run on an embedded application server, using new SpringApplicationBuilder().run(), I don't know the best place to manipulate the servlet context.


Solution

  • As of Spring Boot 1.3 you can simply set a configuration property;

    Spring Boot 1.3, 1.4, 1.5

    server.session.cookie.name = MYSESSIONID
    

    Spring Boot 2.x

    server.servlet.session.cookie.name = MYSESSIONID
    

    A lot simpler than writing a configuration class.

    See https://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html for more session related properties.