在此提交之前,Spring Boot 只会自动配置RestHighLevelClient和RestClientBuilder如果RestHighLevelClient
存在。这是在 1d73d4eda75ef0d18c747c57aa2b3385674483c7 中完成的,作为https://github.com/spring-projects/spring-boot/issues/22358的一部分
RestClient当暴露RestHighLevelClient或RestHighLevelClient不存在时,此提交会在 Spring Boot 中恢复对 bean 的暴露。它允许以与
和 的RestClientBuilder类似方式使用 Spring Boot 自动配置及其定制器。现在 的存在是可选的。这为可能添加对基于相同版本的新Elasticsearch Java 客户端的支持打开了大门。
RestTeamplateBuilderWebClient.Builderorg.elasticsearch.client:elasticsearch-rest-high-level-clientRestClient
将 暴露为RestClientbean 并不是此 PR 中最重要的事情。我宁愿说,RestClientBuilder暴露为 bean 的事实是最重要的部分。这允许用户依赖 Spring Boot 提供的配置机制,RestClientBuilder而不是依赖现已弃用的 Elasticsearch Rest High Level Client。