Skip to content

Allow Jedis to be selected when both Jedis and Lettuce are on the classpath #22559

@brucelwl

Description

@brucelwl

If both Lettuce and Jedis exist on the classpath, LettuceConnectionConfiguration and JedisConnectionConfiguration will be created, but actually JedisConnectionConfiguration is not necessary. It is recommended to add redis client type configuration, for example:
spring.redis.client.type=jedis
spring.redis.client.type=lettuce

@Configuration(proxyBeanMethods = false)
@ConditionalOnClass({ GenericObjectPool.class, JedisConnection.class, Jedis.class })
@ConditionalOnProperty(name = "spring.redis.client.type", havingValue = "jedis", matchIfMissing = true)
class JedisConnectionConfiguration extends RedisConnectionConfiguration {
      //...
}
@Configuration(proxyBeanMethods = false)
@ConditionalOnClass(RedisClient.class)
@ConditionalOnProperty(name = "spring.redis.client.type", havingValue = "lettuce", matchIfMissing = true)
class LettuceConnectionConfiguration extends RedisConnectionConfiguration {
     //...
}

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions