Merge branch '1.5.x'
This commit is contained in:
@@ -38,7 +38,6 @@ import org.springframework.context.annotation.ImportSelector;
|
||||
import org.springframework.core.type.AnnotationMetadata;
|
||||
import org.springframework.session.Session;
|
||||
import org.springframework.session.SessionRepository;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
/**
|
||||
* {@link EnableAutoConfiguration Auto-configuration} for Spring Session.
|
||||
@@ -97,11 +96,17 @@ public class SessionAutoConfiguration {
|
||||
@PostConstruct
|
||||
public void checkSessionRepository() {
|
||||
StoreType storeType = this.sessionProperties.getStoreType();
|
||||
if (storeType != StoreType.NONE) {
|
||||
Assert.notNull(this.sessionRepositoryProvider.getIfAvailable(),
|
||||
"No session repository could be auto-configured, check your "
|
||||
+ "configuration (session store type is '" + storeType
|
||||
+ "')");
|
||||
if (storeType != StoreType.NONE
|
||||
&& this.sessionRepositoryProvider.getIfAvailable() == null) {
|
||||
if (storeType != null) {
|
||||
throw new IllegalArgumentException("No session repository could be "
|
||||
+ "auto-configured, check your configuration (session store "
|
||||
+ "type is '" + storeType.name().toLowerCase() + "')");
|
||||
}
|
||||
else {
|
||||
throw new IllegalArgumentException("No Spring Session store is "
|
||||
+ "configured: set the 'spring.session.store-type' property");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -52,11 +52,19 @@ public class SessionAutoConfigurationTests extends AbstractSessionAutoConfigurat
|
||||
@Test
|
||||
public void contextFailsIfStoreTypeNotSet() {
|
||||
this.thrown.expect(BeanCreationException.class);
|
||||
this.thrown.expectMessage("No session repository could be auto-configured");
|
||||
this.thrown.expectMessage("session store type is 'null'");
|
||||
this.thrown.expectMessage("No Spring Session store is configured");
|
||||
this.thrown.expectMessage("set the 'spring.session.store-type' property");
|
||||
load();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void contextFailsIfStoreTypeNotAvailable() {
|
||||
this.thrown.expect(BeanCreationException.class);
|
||||
this.thrown.expectMessage("No session repository could be auto-configured");
|
||||
this.thrown.expectMessage("session store type is 'mongo'");
|
||||
load("spring.session.store-type=mongo");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void autoConfigurationDisabledIfStoreTypeSetToNone() {
|
||||
load("spring.session.store-type=none");
|
||||
@@ -95,14 +103,6 @@ public class SessionAutoConfigurationTests extends AbstractSessionAutoConfigurat
|
||||
load("spring.session.store-type=hash-map", "spring.session.timeout=3000");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void validationFailsIfSessionRepositoryIsNotConfigured() {
|
||||
this.thrown.expect(BeanCreationException.class);
|
||||
this.thrown.expectMessage("No session repository could be auto-configured");
|
||||
this.thrown.expectMessage("session store type is 'JDBC'");
|
||||
load("spring.session.store-type=jdbc");
|
||||
}
|
||||
|
||||
@SuppressWarnings("unchecked")
|
||||
@Test
|
||||
public void filterIsRegisteredWithAsyncErrorAndRequestDispatcherTypes() {
|
||||
|
||||
Reference in New Issue
Block a user