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.SessionProperties;
|
||||||
import com.lingniu.ingest.session.SessionStore;
|
import com.lingniu.ingest.session.SessionStore;
|
||||||
import org.springframework.boot.autoconfigure.AutoConfiguration;
|
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.ConditionalOnBean;
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
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.context.annotation.Bean;
|
||||||
import org.springframework.data.redis.core.StringRedisTemplate;
|
import org.springframework.data.redis.core.StringRedisTemplate;
|
||||||
|
|
||||||
@AutoConfiguration
|
@AutoConfiguration(after = RedisAutoConfiguration.class)
|
||||||
@EnableConfigurationProperties(SessionProperties.class)
|
@EnableConfigurationProperties(SessionProperties.class)
|
||||||
public class SessionCoreAutoConfiguration {
|
public class SessionCoreAutoConfiguration {
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import com.lingniu.ingest.session.RedisSessionStore;
|
|||||||
import com.lingniu.ingest.session.SessionStore;
|
import com.lingniu.ingest.session.SessionStore;
|
||||||
import org.junit.jupiter.api.Test;
|
import org.junit.jupiter.api.Test;
|
||||||
import org.springframework.boot.autoconfigure.AutoConfigurations;
|
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.boot.test.context.runner.ApplicationContextRunner;
|
||||||
import org.springframework.data.redis.core.StringRedisTemplate;
|
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
|
@Test
|
||||||
void rejectsMemorySessionStoreModeWithRedisOnlyRule() {
|
void rejectsMemorySessionStoreModeWithRedisOnlyRule() {
|
||||||
contextRunner
|
contextRunner
|
||||||
|
|||||||
Reference in New Issue
Block a user