Skip to content

Commit 4f4de8b

Browse files
committed
support for password in JedisPooled initialization
Signed-off-by: jitokim <[email protected]>
1 parent f5761de commit 4f4de8b

File tree

1 file changed

+20
-2
lines changed

1 file changed

+20
-2
lines changed

spring-ai-spring-boot-autoconfigure/src/main/java/org/springframework/ai/autoconfigure/vectorstore/redis/RedisVectorStoreAutoConfiguration.java

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@
1717
package org.springframework.ai.autoconfigure.vectorstore.redis;
1818

1919
import io.micrometer.observation.ObservationRegistry;
20+
import redis.clients.jedis.DefaultJedisClientConfig;
21+
import redis.clients.jedis.HostAndPort;
22+
import redis.clients.jedis.JedisClientConfig;
2023
import redis.clients.jedis.JedisPooled;
2124

2225
import org.springframework.ai.embedding.BatchingStrategy;
@@ -40,6 +43,7 @@
4043
* @author Christian Tzolov
4144
* @author Eddú Meléndez
4245
* @author Soby Chacko
46+
* @author Jihoon Kim
4347
*/
4448
@AutoConfiguration(after = RedisAutoConfiguration.class)
4549
@ConditionalOnClass({ JedisPooled.class, JedisConnectionFactory.class, RedisVectorStore.class, EmbeddingModel.class })
@@ -60,8 +64,7 @@ public RedisVectorStore vectorStore(EmbeddingModel embeddingModel, RedisVectorSt
6064
ObjectProvider<VectorStoreObservationConvention> customObservationConvention,
6165
BatchingStrategy batchingStrategy) {
6266

63-
JedisPooled jedisPooled = new JedisPooled(jedisConnectionFactory.getHostName(),
64-
jedisConnectionFactory.getPort());
67+
JedisPooled jedisPooled = this.jedisPooled(jedisConnectionFactory);
6568
return RedisVectorStore.builder(jedisPooled, embeddingModel)
6669
.initializeSchema(properties.isInitializeSchema())
6770
.observationRegistry(observationRegistry.getIfUnique(() -> ObservationRegistry.NOOP))
@@ -72,4 +75,19 @@ public RedisVectorStore vectorStore(EmbeddingModel embeddingModel, RedisVectorSt
7275
.build();
7376
}
7477

78+
private JedisPooled jedisPooled(JedisConnectionFactory jedisConnectionFactory) {
79+
80+
String host = jedisConnectionFactory.getHostName();
81+
int port = jedisConnectionFactory.getPort();
82+
83+
JedisClientConfig clientConfig = DefaultJedisClientConfig.builder()
84+
.ssl(jedisConnectionFactory.isUseSsl())
85+
.clientName(jedisConnectionFactory.getClientName())
86+
.timeoutMillis(jedisConnectionFactory.getTimeout())
87+
.password(jedisConnectionFactory.getPassword())
88+
.build();
89+
90+
return new JedisPooled(new HostAndPort(host, port), clientConfig);
91+
}
92+
7593
}

0 commit comments

Comments
 (0)