1.Spring Data Redis切换底层Jedis 源码和 Lettuce实现
2.spring-boot-starter-data-elasticsearch 2.7.16 跳过 ElasticSearch 8.10.2的SSL验证的方法
Spring Data Redis切换底层Jedis 和 Lettuce实现
Spring Data Redis提供了对Redis操作的高级抽象,支持Jedis和Lettuce两种连接方式。源码通过简单的源码配置即可连接Redis并切换连接方式。具体步骤如下:
引入Redis依赖使用Spring Boot的源码spring-boot-starter-data-redis。
自定义配置类设置Key和Value的源码序列化。
修改Redis连接配置,源码省采系统源码可自由切换单节点、源码哨兵模式和集群模式。源码
注入RedisTemplate后,源码即可操作Redis。源码RedisTemplate具有两个泛型。源码
源码分析部分,源码从Redis自动配置类RedisAutoConfiguration开始,源码ybsoftwarefactory 源码它引入了两个连接Redis配置类:LettuceConnectionConfiguration和JedisConnectionConfiguration。源码这两个配置类通过条件注解控制是源码否生效,如果生效,则会使用相应的依赖生成RedisConnectionFactory的Bean。引入Lettuce依赖时,能通过io.lettuce.core.RedisClient找到类,xmemcached 源码说明默认使用Lettuce。若无Jedis相关依赖,则当前配置类无效。
切换连接方式至Jedis有两种方式:利用@ConditionalOnClass注解排除Lettuce依赖,或利用@ConditionalOnProperty注解修改配置文件中的spring.redis.client-type为jedis。第一种方式优点在于不加载多余的jlibrary 源码依赖包,推荐使用。第二种方式则可通过配置文件自由切换连接方式。
本文由OpenWrite平台发布。请按照上述步骤进行Spring Data Redis的使用和连接方式切换。
spring-boot-starter-data-elasticsearch 2.7. 跳过 ElasticSearch 8..2的SSL验证的方法
针对解决Spring Boot Starter Data Elasticsearch 2.7.在使用Elasticsearch 8..2时跳过SSL验证的问题,网上普遍提供的netsys源码是证书导入方法,而实际上通过简便的代码实现这一功能同样可行。
网上关于此问题的信息相对稀缺,但通过探究Spring源代码,我找到了一个简单且有效的解决策略,并将其记录下来供参考。
在进行操作前,需明确相关组件版本:ElasticSearch的版本是8..2。
在应用配置文件(application.properties)中进行相应的配置。
在进行单元测试时,若直接启动应用,会遇到错误提示。为解决此问题,需要实现RestClientBuilderCustomizer接口。
通过实现上述接口并注入Elasticsearch客户端,我们能够自定义客户端构建器,进而控制SSL验证行为。具体实现时,重写customize方法,移除或修改SSL验证相关设置,以达到跳过SSL验证的目的。
实现完毕后,重新启动应用进行验证,此时验证过程应能顺利通过,问题得以解决。