zoukankan      html  css  js  c++  java
  • 在RestHighLevelClient中增加用户名密码验证

    @Configuration
    public class ElasticSearchClient {
        @Value("${ElasticSearch.Hosts}")
        private String hosts;
        @Value("${ElasticSearch.UserName}")
        private String userName;
        @Value("${ElasticSearch.Password}")
        private String password;
        
        @SuppressWarnings("deprecation")
        @Bean(name="esClient")
        public RestHighLevelClient getClient() {
            String[] hosts = this.hosts.split(",");
            HttpHost[] httpHosts = new HttpHost[hosts.length];
            for(int i=0;i<hosts.length;i++) {
                httpHosts[i] = new HttpHost(hosts[i], 9200, "http");
            }
            
            final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
            credentialsProvider.setCredentials(AuthScope.ANY, new UsernamePasswordCredentials(userName, password));
            
            RestClientBuilder builder = RestClient.builder(httpHosts).setRequestConfigCallback(new RestClientBuilder.RequestConfigCallback() {
                @Override
                public RequestConfig.Builder customizeRequestConfig(RequestConfig.Builder requestConfigBuilder) {
                    requestConfigBuilder.setConnectTimeout(-1);
                    requestConfigBuilder.setSocketTimeout(-1);
                    requestConfigBuilder.setConnectionRequestTimeout(-1);
                    return requestConfigBuilder;
                }
            }).setHttpClientConfigCallback(new RestClientBuilder.HttpClientConfigCallback() {
                @Override
                public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpClientBuilder) {
                    httpClientBuilder.disableAuthCaching();
                    return httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
                }
            }).setMaxRetryTimeoutMillis(5*60*1000);
            
            RestHighLevelClient client = new RestHighLevelClient(builder);
            return client;
        }
    }
    
    自律人的才是可怕的人
  • 相关阅读:
    nvm安装node的问题
    前端必读:浏览器内部工作原理
    读书笔记:《高性能网站建设指南》
    学习前端我读过的书
    Canvas绘制圆形进度条
    gitlab升级方法
    设置root远程连接ubuntu上mysql
    SpringMVC的@ResponseBody返回JSON,中文乱码问题的解决.
    JSTL 格式化输出 Calendar
    在Maven的配置文件中,自定义私有仓库地址和设置下载的jar包的保存位置
  • 原文地址:https://www.cnblogs.com/lovelifest/p/14362212.html
Copyright © 2011-2022 走看看