refactor: remove implicit memory session store
This commit is contained in:
@@ -1,7 +1,6 @@
|
||||
package com.lingniu.ingest.session.config;
|
||||
|
||||
import com.lingniu.ingest.session.CommandDispatcher;
|
||||
import com.lingniu.ingest.session.InMemorySessionStore;
|
||||
import com.lingniu.ingest.session.NoopCommandDispatcher;
|
||||
import com.lingniu.ingest.session.RedisSessionStore;
|
||||
import com.lingniu.ingest.session.SessionProperties;
|
||||
@@ -18,6 +17,12 @@ import org.springframework.data.redis.core.StringRedisTemplate;
|
||||
@EnableConfigurationProperties(SessionProperties.class)
|
||||
public class SessionCoreAutoConfiguration {
|
||||
|
||||
@Bean
|
||||
@ConditionalOnProperty(prefix = "lingniu.ingest.session", name = "store", havingValue = "memory")
|
||||
public Object rejectedLegacyMemorySessionStore() {
|
||||
throw new IllegalStateException("session.store=memory has been removed; configure session.store=redis");
|
||||
}
|
||||
|
||||
@Bean
|
||||
@ConditionalOnBean(StringRedisTemplate.class)
|
||||
@ConditionalOnProperty(prefix = "lingniu.ingest.session", name = "store", havingValue = "redis")
|
||||
@@ -27,12 +32,6 @@ public class SessionCoreAutoConfiguration {
|
||||
return new RedisSessionStore(redis, properties.getTtl());
|
||||
}
|
||||
|
||||
@Bean
|
||||
@ConditionalOnMissingBean
|
||||
public SessionStore sessionStore() {
|
||||
return new InMemorySessionStore();
|
||||
}
|
||||
|
||||
@Bean
|
||||
@ConditionalOnMissingBean
|
||||
public CommandDispatcher commandDispatcher() {
|
||||
|
||||
@@ -17,10 +17,10 @@ class SessionCoreAutoConfigurationTest {
|
||||
.withConfiguration(AutoConfigurations.of(SessionCoreAutoConfiguration.class));
|
||||
|
||||
@Test
|
||||
void usesInMemorySessionStoreByDefault() {
|
||||
void doesNotCreateImplicitInMemorySessionStoreByDefault() {
|
||||
contextRunner.run(context -> {
|
||||
assertThat(context).hasSingleBean(SessionStore.class);
|
||||
assertThat(context).hasSingleBean(InMemorySessionStore.class);
|
||||
assertThat(context).doesNotHaveBean(SessionStore.class);
|
||||
assertThat(context).doesNotHaveBean(InMemorySessionStore.class);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -36,4 +36,14 @@ class SessionCoreAutoConfigurationTest {
|
||||
assertThat(context).hasSingleBean(RedisSessionStore.class);
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
void rejectsLegacyMemorySessionStoreMode() {
|
||||
contextRunner
|
||||
.withPropertyValues("lingniu.ingest.session.store=memory")
|
||||
.run(context -> assertThat(context.getStartupFailure())
|
||||
.hasRootCauseInstanceOf(IllegalStateException.class)
|
||||
.hasMessageContaining("session.store=memory has been removed")
|
||||
.hasMessageContaining("session.store=redis"));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user