Skip to content

Commit 9024c8e

Browse files
committed
fix: mark redisConnectionFactory bean as @primary
When spring.threads.virtual.enabled is true, Spring Boot auto-registers a redisConnectionFactoryVirtualThreads bean. This causes a NoUniqueBeanDefinitionException since two ReactiveRedisConnectionFactory beans exist without a primary designation. Adding @primary resolves the ambiguity for ObjectProvider.getIfAvailable() calls.
1 parent 9353e0f commit 9024c8e

1 file changed

Lines changed: 2 additions & 0 deletions

File tree

src/main/java/org/fireflyframework/cache/config/RedisCacheAutoConfiguration.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@
2626
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
2727
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
2828
import org.springframework.context.annotation.Bean;
29+
import org.springframework.context.annotation.Primary;
2930
import org.springframework.data.redis.connection.ReactiveRedisConnectionFactory;
3031
import org.springframework.data.redis.connection.RedisStandaloneConfiguration;
3132
import org.springframework.data.redis.connection.lettuce.LettuceClientConfiguration;
@@ -54,6 +55,7 @@ public class RedisCacheAutoConfiguration {
5455
* Redis host is configured.
5556
*/
5657
@Bean
58+
@Primary
5759
@ConditionalOnMissingBean(ReactiveRedisConnectionFactory.class)
5860
@ConditionalOnExpression("${firefly.cache.redis.enabled:true} && '${firefly.cache.redis.host:}'.length() > 0")
5961
public ReactiveRedisConnectionFactory redisConnectionFactory(CacheProperties properties) {

0 commit comments

Comments
 (0)