diff --git a/spring-session-hazelcast/src/main/java/org/springframework/session/hazelcast/config/annotation/web/http/HazelcastHttpSessionConfiguration.java b/spring-session-hazelcast/src/main/java/org/springframework/session/hazelcast/config/annotation/web/http/HazelcastHttpSessionConfiguration.java index 71092400..5721d6e6 100644 --- a/spring-session-hazelcast/src/main/java/org/springframework/session/hazelcast/config/annotation/web/http/HazelcastHttpSessionConfiguration.java +++ b/spring-session-hazelcast/src/main/java/org/springframework/session/hazelcast/config/annotation/web/http/HazelcastHttpSessionConfiguration.java @@ -1,5 +1,5 @@ /* - * Copyright 2014-2020 the original author or authors. + * Copyright 2014-2021 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -30,12 +30,12 @@ import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.ImportAware; import org.springframework.core.annotation.AnnotationAttributes; import org.springframework.core.type.AnnotationMetadata; +import org.springframework.session.FindByIndexNameSessionRepository; import org.springframework.session.FlushMode; import org.springframework.session.IndexResolver; import org.springframework.session.MapSession; import org.springframework.session.SaveMode; import org.springframework.session.Session; -import org.springframework.session.SessionRepository; import org.springframework.session.config.SessionRepositoryCustomizer; import org.springframework.session.config.annotation.web.http.SpringHttpSessionConfiguration; import org.springframework.session.hazelcast.Hazelcast4IndexedSessionRepository; @@ -85,7 +85,7 @@ public class HazelcastHttpSessionConfiguration extends SpringHttpSessionConfigur } @Bean - public SessionRepository sessionRepository() { + public FindByIndexNameSessionRepository sessionRepository() { if (hazelcast4) { return createHazelcast4IndexedSessionRepository(); } diff --git a/spring-session-samples/spring-session-sample-boot-hazelcast/spring-session-sample-boot-hazelcast.gradle b/spring-session-samples/spring-session-sample-boot-hazelcast/spring-session-sample-boot-hazelcast.gradle index 6993c505..abaa9867 100644 --- a/spring-session-samples/spring-session-sample-boot-hazelcast/spring-session-sample-boot-hazelcast.gradle +++ b/spring-session-samples/spring-session-sample-boot-hazelcast/spring-session-sample-boot-hazelcast.gradle @@ -3,6 +3,7 @@ apply plugin: 'io.spring.convention.spring-sample-boot' dependencies { compile project(':spring-session-hazelcast') compile "org.springframework.boot:spring-boot-starter-web" + compile "org.springframework.boot:spring-boot-starter-actuator" compile "org.springframework.boot:spring-boot-starter-thymeleaf" compile "org.springframework.boot:spring-boot-starter-security" compile "com.hazelcast:hazelcast" diff --git a/spring-session-samples/spring-session-sample-boot-hazelcast/src/integration-test/java/sample/BootTests.java b/spring-session-samples/spring-session-sample-boot-hazelcast/src/integration-test/java/sample/BootTests.java index bd4df824..62c7de54 100644 --- a/spring-session-samples/spring-session-sample-boot-hazelcast/src/integration-test/java/sample/BootTests.java +++ b/spring-session-samples/spring-session-sample-boot-hazelcast/src/integration-test/java/sample/BootTests.java @@ -24,12 +24,17 @@ import sample.pages.HomePage; import sample.pages.LoginPage; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.actuate.session.SessionsEndpoint; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; +import org.springframework.context.ApplicationContext; +import org.springframework.session.hazelcast.HazelcastIndexedSessionRepository; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.htmlunit.webdriver.MockMvcHtmlUnitDriverBuilder; +import static org.assertj.core.api.Assertions.assertThat; + /** * @author Ellie Bahadori */ @@ -52,6 +57,12 @@ class BootTests { this.driver.quit(); } + @Test // gh-1905 + void contextLoads(ApplicationContext context) { + assertThat(context.getBeansOfType(HazelcastIndexedSessionRepository.class)).hasSize(1); + assertThat(context.getBeansOfType(SessionsEndpoint.class)).hasSize(1); + } + @Test void home() { LoginPage login = HomePage.go(this.driver); diff --git a/spring-session-samples/spring-session-sample-boot-hazelcast/src/main/resources/application.properties b/spring-session-samples/spring-session-sample-boot-hazelcast/src/main/resources/application.properties index 1b5271b5..cf1552e6 100644 --- a/spring-session-samples/spring-session-sample-boot-hazelcast/src/main/resources/application.properties +++ b/spring-session-samples/spring-session-sample-boot-hazelcast/src/main/resources/application.properties @@ -1 +1,2 @@ +management.endpoints.web.exposure.include=sessions spring.security.user.password=password diff --git a/spring-session-samples/spring-session-sample-boot-hazelcast4/spring-session-sample-boot-hazelcast4.gradle b/spring-session-samples/spring-session-sample-boot-hazelcast4/spring-session-sample-boot-hazelcast4.gradle index 2f7045dc..7331f9fa 100644 --- a/spring-session-samples/spring-session-sample-boot-hazelcast4/spring-session-sample-boot-hazelcast4.gradle +++ b/spring-session-samples/spring-session-sample-boot-hazelcast4/spring-session-sample-boot-hazelcast4.gradle @@ -4,6 +4,7 @@ dependencies { compile project(':spring-session-hazelcast') compile project(':hazelcast4') compile "org.springframework.boot:spring-boot-starter-web" + compile "org.springframework.boot:spring-boot-starter-actuator" compile "org.springframework.boot:spring-boot-starter-thymeleaf" compile "org.springframework.boot:spring-boot-starter-security" compile "com.hazelcast:hazelcast:4.2.2" diff --git a/spring-session-samples/spring-session-sample-boot-hazelcast4/src/integration-test/java/sample/BootTests.java b/spring-session-samples/spring-session-sample-boot-hazelcast4/src/integration-test/java/sample/BootTests.java index e947fa13..4806a60a 100644 --- a/spring-session-samples/spring-session-sample-boot-hazelcast4/src/integration-test/java/sample/BootTests.java +++ b/spring-session-samples/spring-session-sample-boot-hazelcast4/src/integration-test/java/sample/BootTests.java @@ -24,12 +24,17 @@ import sample.pages.HomePage; import sample.pages.LoginPage; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.actuate.session.SessionsEndpoint; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest.WebEnvironment; +import org.springframework.context.ApplicationContext; +import org.springframework.session.hazelcast.Hazelcast4IndexedSessionRepository; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.htmlunit.webdriver.MockMvcHtmlUnitDriverBuilder; +import static org.assertj.core.api.Assertions.assertThat; + @AutoConfigureMockMvc @SpringBootTest(webEnvironment = WebEnvironment.MOCK) class BootTests { @@ -49,6 +54,12 @@ class BootTests { this.driver.quit(); } + @Test // gh-1905 + void contextLoads(ApplicationContext context) { + assertThat(context.getBeansOfType(Hazelcast4IndexedSessionRepository.class)).hasSize(1); + assertThat(context.getBeansOfType(SessionsEndpoint.class)).hasSize(1); + } + @Test void home() { LoginPage login = HomePage.go(this.driver); diff --git a/spring-session-samples/spring-session-sample-boot-hazelcast4/src/main/resources/application.properties b/spring-session-samples/spring-session-sample-boot-hazelcast4/src/main/resources/application.properties index 1b5271b5..cf1552e6 100644 --- a/spring-session-samples/spring-session-sample-boot-hazelcast4/src/main/resources/application.properties +++ b/spring-session-samples/spring-session-sample-boot-hazelcast4/src/main/resources/application.properties @@ -1 +1,2 @@ +management.endpoints.web.exposure.include=sessions spring.security.user.password=password