如何通过JedisClientConfiguration Builder同时开启SSL与连接池功能?
问题:如何同时启用JedisClientConfiguration的SSL和连接池功能?
在Spring的JedisClientConfigurationBuilder接口中,包含以下两个方法:
JedisSslClientConfigurationBuilder useSsl(); JedisPoolingClientConfigurationBuilder usePooling();
目前仅能单独使用其中一个,示例如下:
JedisClientConfiguration.builder().useSsl().build() // 或者 JedisClientConfiguration.builder().usePooling().build()
请问如何通过JedisClientConfiguration Builder同时启用SSL和连接池功能?
解决方法
你可以通过链式调用两个方法来同时启用SSL和连接池功能。因为useSsl()返回的JedisSslClientConfigurationBuilder和usePooling()返回的JedisPoolingClientConfigurationBuilder都继承自基础的JedisClientConfigurationBuilder,调用其中一个方法后,仍可继续调用另一个配置方法,最后执行build()生成完整配置实例。
基础示例代码:
JedisClientConfiguration config = JedisClientConfiguration.builder() .useSsl() // 启用SSL .usePooling() // 启用连接池 .build();
如果需要对SSL或连接池做精细化配置(比如设置连接池参数、自定义SSL上下文),可以通过子Builder的.and()方法返回父级Builder,继续完成其他配置:
// 带详细配置的示例 JedisClientConfiguration config = JedisClientConfiguration.builder() .useSsl() .sslContext(SSLContext.getDefault()) // 自定义SSL上下文 .and() // 回到基础配置Builder .usePooling() .poolConfig(new JedisPoolConfig()) // 设置自定义连接池参数 .and() // 回到基础配置Builder .build();
内容的提问来源于stack exchange,提问作者harshit2811
相关产品推荐
相关产品推荐

