pom.xml
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.1.RELEASE</version>
</parent>
色々ぐぐっていると、spring.session.timeoutにはserver.servlet.session.timeoutの値(1系ではserver.session.timeout)が設定される、と書いてある。これってどうやってるんだ? と思ったんで該当部分のコードを読んだ。
SessionProperties
package org.springframework.boot.autoconfigure.session;
@ConfigurationProperties(prefix = "spring.session")
public class SessionProperties {
// (略)
public SessionProperties(ObjectProvider<ServerProperties> serverProperties) {
ServerProperties properties = serverProperties.getIfUnique();
Session session = (properties == null ? null
: properties.getServlet().getSession());
this.timeout = (session == null ? null : session.getTimeout());
}
なんのことはなく、SessionPropertiesのコンストラクタでtimeoutにServerPropertie.getServlet().getSession().getTimeout()の値を設定しているだけであった。