org.elasticsearch.client.sniff.SniffOnFailureListener Java Examples
The following examples show how to use
org.elasticsearch.client.sniff.SniffOnFailureListener.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: ElasticClientManager.java From elasticsearch-sql with MIT License | 5 votes |
private RestHighLevelClient initClient(List<HttpHost> httpHosts, boolean useSsl, ClusterMode mode, String token) { RestHighLevelClient restHighLevelClient; RestClientBuilder restClientBuilder = RestClient.builder(httpHosts.toArray(new HttpHost[0])) .setNodeSelector(NodeSelector.SKIP_DEDICATED_MASTERS) .setRequestConfigCallback(builder -> builder.setConnectTimeout(50000) .setSocketTimeout(600000)); if (useSsl) { restClientBuilder .setHttpClientConfigCallback(httpAsyncClientBuilder -> { httpAsyncClientBuilder.setSSLHostnameVerifier((s, sslSession) -> true); SSLContext sslContext; try { sslContext = SSLContext.getInstance("TLS"); sslContext.init(null, TRUST_ALL_CERTS, new java.security.SecureRandom()); } catch (NoSuchAlgorithmException | KeyManagementException e) { throw new RuntimeException(e.getMessage()); } httpAsyncClientBuilder.setSSLContext(sslContext); String basicToken = Base64.getEncoder().encodeToString(token.getBytes()); httpAsyncClientBuilder.setDefaultHeaders(Collections.singletonList(new BasicHeader("Authorization", "Basic " + basicToken))); return httpAsyncClientBuilder; }); } if (ClusterMode.CLUSTER.equals(mode)) { SniffOnFailureListener sniffOnFailureListener = new SniffOnFailureListener(); restClientBuilder.setFailureListener(sniffOnFailureListener); restHighLevelClient = new RestHighLevelClient(restClientBuilder); NodesSniffer nodesSniffer = new ElasticsearchNodesSniffer(restHighLevelClient.getLowLevelClient(), ElasticsearchNodesSniffer.DEFAULT_SNIFF_REQUEST_TIMEOUT, useSsl ? ElasticsearchNodesSniffer.Scheme.HTTPS : ElasticsearchNodesSniffer.Scheme.HTTP); Sniffer sniffer = Sniffer.builder(restHighLevelClient.getLowLevelClient()).setSniffIntervalMillis(5000).setNodesSniffer(nodesSniffer).build(); sniffOnFailureListener.setSniffer(sniffer); } else { restHighLevelClient = new RestHighLevelClient(restClientBuilder); } return restHighLevelClient; }
Example #2
Source File: EsRestClient.java From jkes with Apache License 2.0 | 5 votes |
@Autowired public EsRestClient(JkesSearchProperties jkesProperties) { SniffOnFailureListener sniffOnFailureListener = new SniffOnFailureListener(); Header[] defaultHeaders = {new BasicHeader("Content-Type", "application/json")}; String[] urls = jkesProperties.getEs().getServers().split("\\s*,"); HttpHost[] hosts = new HttpHost[urls.length]; for (int i = 0; i < urls.length; i++) { hosts[i] = HttpHost.create(urls[i]); } RestClient restClient = RestClient.builder(hosts) .setRequestConfigCallback(requestConfigBuilder -> { return requestConfigBuilder.setConnectTimeout(5000) // default 1s .setSocketTimeout(60000); // defaults to 30 seconds }).setHttpClientConfigCallback(httpClientBuilder -> { return httpClientBuilder.setDefaultIOReactorConfig( IOReactorConfig.custom().setIoThreadCount(2).build()); // because only used for admin, so not necessary to hold many worker threads }) .setMaxRetryTimeoutMillis(60000) // defaults to 30 seconds .setDefaultHeaders(defaultHeaders) .setFailureListener(sniffOnFailureListener) .build(); Sniffer sniffer = Sniffer.builder(restClient).build(); sniffOnFailureListener.setSniffer(sniffer); this.sniffer = sniffer; this.restClient = restClient; }
Example #3
Source File: EsRestClient.java From jkes with Apache License 2.0 | 5 votes |
@Inject public EsRestClient(JkesProperties jkesProperties) { SniffOnFailureListener sniffOnFailureListener = new SniffOnFailureListener(); Header[] defaultHeaders = {new BasicHeader("Content-Type", "application/json")}; String[] urls = jkesProperties.getEsBootstrapServers().split("\\s*,"); HttpHost[] hosts = new HttpHost[urls.length]; for (int i = 0; i < urls.length; i++) { hosts[i] = HttpHost.create(urls[i]); } RestClient restClient = RestClient.builder(hosts) .setRequestConfigCallback(requestConfigBuilder -> { return requestConfigBuilder.setConnectTimeout(5000) // default 1s .setSocketTimeout(60000); // defaults to 30 seconds }).setHttpClientConfigCallback(httpClientBuilder -> { return httpClientBuilder.setDefaultIOReactorConfig( IOReactorConfig.custom().setIoThreadCount(2).build()); // because only used for admin, so not necessary to hold many worker threads }) .setMaxRetryTimeoutMillis(60000) // defaults to 30 seconds .setDefaultHeaders(defaultHeaders) .setFailureListener(sniffOnFailureListener) .build(); Sniffer sniffer = Sniffer.builder(restClient).build(); sniffOnFailureListener.setSniffer(sniffer); this.sniffer = sniffer; this.restClient = restClient; }
Example #4
Source File: EsDatasetDeleterService.java From occurrence with Apache License 2.0 | 5 votes |
private RestHighLevelClient createEsClient() { HttpHost[] hosts = new HttpHost[config.esHosts.length]; int i = 0; for (String host : config.esHosts) { try { URL url = new URL(host); hosts[i] = new HttpHost(url.getHost(), url.getPort(), url.getProtocol()); i++; } catch (MalformedURLException e) { throw new IllegalArgumentException(e.getMessage(), e); } } SniffOnFailureListener sniffOnFailureListener = new SniffOnFailureListener(); RestClientBuilder builder = RestClient.builder(hosts) .setRequestConfigCallback( requestConfigBuilder -> requestConfigBuilder .setConnectTimeout(config.esConnectTimeout) .setSocketTimeout(config.esSocketTimeout)) .setMaxRetryTimeoutMillis(config.esSocketTimeout) .setNodeSelector(NodeSelector.SKIP_DEDICATED_MASTERS) .setFailureListener(sniffOnFailureListener); RestHighLevelClient highLevelClient = new RestHighLevelClient(builder); esSniffer = Sniffer.builder(highLevelClient.getLowLevelClient()) .setSniffIntervalMillis(config.esSniffInterval) .setSniffAfterFailureDelayMillis(config.esSniffAfterFailureDelay) .build(); sniffOnFailureListener.setSniffer(esSniffer); return highLevelClient; }