diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/session/NonUniqueSessionRepositoryException.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/session/NonUniqueSessionRepositoryException.java index aa662b1848..9fc0a1d009 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/session/NonUniqueSessionRepositoryException.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/session/NonUniqueSessionRepositoryException.java @@ -23,25 +23,25 @@ import org.springframework.session.SessionRepository; import org.springframework.util.ObjectUtils; /** - * Exception thrown when multiple {@link SessionRepository} implementations are - * available with no way to know which implementation should be used. + * Exception thrown when multiple {@link SessionRepository} implementations are available + * with no way to know which implementation should be used. * * @author Stephane Nicoll * @since 2.0.0 */ public class NonUniqueSessionRepositoryException extends RuntimeException { - private final List> availableCandidates; + private final List>> availableCandidates; public NonUniqueSessionRepositoryException( - List> availableCandidates) { + List>> availableCandidates) { super("Multiple session repository candidates are available, set the " + "'spring.session.store-type' property accordingly"); this.availableCandidates = (!ObjectUtils.isEmpty(availableCandidates) ? availableCandidates : Collections.emptyList()); } - public List> getAvailableCandidates() { + public List>> getAvailableCandidates() { return this.availableCandidates; } diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/session/NonUniqueSessionRepositoryFailureAnalyzer.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/session/NonUniqueSessionRepositoryFailureAnalyzer.java index ab47d11de7..713aff4d4c 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/session/NonUniqueSessionRepositoryFailureAnalyzer.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/session/NonUniqueSessionRepositoryFailureAnalyzer.java @@ -34,7 +34,8 @@ class NonUniqueSessionRepositoryFailureAnalyzer StringBuilder message = new StringBuilder(); message.append(String.format("Multiple Spring Session store implementations are " + "available on the classpath:%n")); - for (Class candidate : cause.getAvailableCandidates()) { + for (Class> candidate : cause + .getAvailableCandidates()) { message.append(String.format(" - %s%n", candidate.getName())); } StringBuilder action = new StringBuilder(); diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/session/SessionAutoConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/session/SessionAutoConfiguration.java index 8a8749e00e..17b1905891 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/session/SessionAutoConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/session/SessionAutoConfiguration.java @@ -106,7 +106,7 @@ public class SessionAutoConfiguration { @PostConstruct public void checkAvailableImplementations() { - List> candidates = new ArrayList<>(); + List>> candidates = new ArrayList<>(); addCandidate(candidates, "org.springframework.session.hazelcast.HazelcastSessionRepository"); addCandidate(candidates, @@ -119,10 +119,12 @@ public class SessionAutoConfiguration { } } - private void addCandidate( - List> candidates, String fqn) { + @SuppressWarnings("unchecked") + private void addCandidate(List>> candidates, + String fqn) { try { - Class candidate = (Class) this.classLoader.loadClass(fqn); + Class> candidate = (Class>) this.classLoader + .loadClass(fqn); if (candidate != null) { candidates.add(candidate); } diff --git a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/session/NonUniqueSessionRepositoryFailureAnalyzerTests.java b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/session/NonUniqueSessionRepositoryFailureAnalyzerTests.java index 010b19f52a..43c5d0e058 100644 --- a/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/session/NonUniqueSessionRepositoryFailureAnalyzerTests.java +++ b/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/session/NonUniqueSessionRepositoryFailureAnalyzerTests.java @@ -49,7 +49,9 @@ public class NonUniqueSessionRepositoryFailureAnalyzerTests { assertThat(analysis.getAction()).contains("spring.session.store-type"); } - private Exception createFailure(Class... candidates) { + @SafeVarargs + private final Exception createFailure( + Class>... candidates) { return new NonUniqueSessionRepositoryException(Arrays.asList(candidates)); } diff --git a/spring-boot-dependencies/pom.xml b/spring-boot-dependencies/pom.xml index ac4d0bebf2..dba3a3e10b 100644 --- a/spring-boot-dependencies/pom.xml +++ b/spring-boot-dependencies/pom.xml @@ -174,7 +174,7 @@ 5.0.0.M3 1.0.8.RELEASE 2.2.0.RELEASE - 2.0.0.M3 + 2.0.0.M4 2.0.0.M3 3.0.0.M2 2.0.0.M2