fix: order redis session auto configuration
This commit is contained in:
@@ -6,6 +6,7 @@ import com.lingniu.ingest.session.RedisSessionStore;
|
||||
import com.lingniu.ingest.session.SessionProperties;
|
||||
import com.lingniu.ingest.session.SessionStore;
|
||||
import org.springframework.boot.autoconfigure.AutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
@@ -13,7 +14,7 @@ import org.springframework.boot.context.properties.EnableConfigurationProperties
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.data.redis.core.StringRedisTemplate;
|
||||
|
||||
@AutoConfiguration
|
||||
@AutoConfiguration(after = RedisAutoConfiguration.class)
|
||||
@EnableConfigurationProperties(SessionProperties.class)
|
||||
public class SessionCoreAutoConfiguration {
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.lingniu.ingest.session.RedisSessionStore;
|
||||
import com.lingniu.ingest.session.SessionStore;
|
||||
import org.junit.jupiter.api.Test;
|
||||
import org.springframework.boot.autoconfigure.AutoConfigurations;
|
||||
import org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration;
|
||||
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
|
||||
import org.springframework.data.redis.core.StringRedisTemplate;
|
||||
|
||||
@@ -52,6 +53,19 @@ class SessionCoreAutoConfigurationTest {
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
void waitsForRedisAutoConfigurationBeforeCheckingRedisTemplateBean() {
|
||||
new ApplicationContextRunner()
|
||||
.withConfiguration(AutoConfigurations.of(
|
||||
SessionCoreAutoConfiguration.class,
|
||||
RedisAutoConfiguration.class))
|
||||
.run(context -> {
|
||||
assertThat(context).hasSingleBean(StringRedisTemplate.class);
|
||||
assertThat(context).hasSingleBean(SessionStore.class);
|
||||
assertThat(context).hasSingleBean(RedisSessionStore.class);
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
void rejectsMemorySessionStoreModeWithRedisOnlyRule() {
|
||||
contextRunner
|
||||
|
||||
Reference in New Issue
Block a user