From 71353a3cb46249112423795239974af2de6f3892 Mon Sep 17 00:00:00 2001 From: lingniu Date: Wed, 1 Jul 2026 17:14:52 +0800 Subject: [PATCH] fix: order redis session auto configuration --- .../config/SessionCoreAutoConfiguration.java | 3 ++- .../config/SessionCoreAutoConfigurationTest.java | 14 ++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/modules/core/session-core/src/main/java/com/lingniu/ingest/session/config/SessionCoreAutoConfiguration.java b/modules/core/session-core/src/main/java/com/lingniu/ingest/session/config/SessionCoreAutoConfiguration.java index d742db71..29f9497e 100644 --- a/modules/core/session-core/src/main/java/com/lingniu/ingest/session/config/SessionCoreAutoConfiguration.java +++ b/modules/core/session-core/src/main/java/com/lingniu/ingest/session/config/SessionCoreAutoConfiguration.java @@ -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 { diff --git a/modules/core/session-core/src/test/java/com/lingniu/ingest/session/config/SessionCoreAutoConfigurationTest.java b/modules/core/session-core/src/test/java/com/lingniu/ingest/session/config/SessionCoreAutoConfigurationTest.java index 06cdf40b..2d13d90d 100644 --- a/modules/core/session-core/src/test/java/com/lingniu/ingest/session/config/SessionCoreAutoConfigurationTest.java +++ b/modules/core/session-core/src/test/java/com/lingniu/ingest/session/config/SessionCoreAutoConfigurationTest.java @@ -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