摘要:設置在多次嘗試同一請求時應該遵守的超時,默認值為秒,與默認超時相同。如果自定義超時,則應相應地調整最大重試超時。設置一個監聽器,每次節點出現故障時都會收到通知,以防需要采取措施,當啟用故障嗅探時在內部使用。
初始化
可以通過相應的RestClientBuilder類構建RestClient實例,通過RestClient#builder(HttpHost...)靜態方法創建,唯一必需的參數是客戶端將與之通信的一個或多個主機,作為HttpHost的實例提供,如下所示:
RestClient restClient = RestClient.builder( new HttpHost("localhost", 9200, "http"), new HttpHost("localhost", 9201, "http")).build();
RestClient類是線程安全的,理想情況下與使用它的應用程序具有相同的生命周期,重要的是不再需要時關閉它,以便它所使用的所有資源得到正確釋放,以及底層的http客戶端實例及其線程:
restClient.close();
RestClientBuilder還允許在構建RestClient實例時可選地設置以下配置參數:
RestClientBuilder builder = RestClient.builder(new HttpHost("localhost", 9200, "http")); Header[] defaultHeaders = new Header[]{new BasicHeader("header", "value")}; builder.setDefaultHeaders(defaultHeaders);
設置需要隨每個請求一起發送的默認headers,以防止必須為每個請求指定它們。
RestClientBuilder builder = RestClient.builder(new HttpHost("localhost", 9200, "http")); builder.setMaxRetryTimeoutMillis(10000);
設置在多次嘗試同一請求時應該遵守的超時,默認值為30秒,與默認socket超時相同。如果自定義socket超時,則應相應地調整最大重試超時。
RestClientBuilder builder = RestClient.builder(new HttpHost("localhost", 9200, "http")); builder.setFailureListener(new RestClient.FailureListener() { @Override public void onFailure(Node node) { } });
設置一個監聽器,每次節點出現故障時都會收到通知,以防需要采取措施,當啟用故障嗅探時在內部使用。
RestClientBuilder builder = RestClient.builder(new HttpHost("localhost", 9200, "http")); builder.setNodeSelector(NodeSelector.SKIP_DEDICATED_MASTERS);
設置用于過濾節點的節點選擇器,客戶端將發送請求到設置給客戶端本身的節點之一,這有助于防止在啟用嗅探時向專用主節點發送請求,默認情況下,客戶端向每個配置的節點發送請求。
RestClientBuilder builder = RestClient.builder(new HttpHost("localhost", 9200, "http")); builder.setRequestConfigCallback(new RestClientBuilder.RequestConfigCallback() { @Override public RequestConfig.Builder customizeRequestConfig(RequestConfig.Builder requestConfigBuilder) { return requestConfigBuilder.setSocketTimeout(10000); } });
設置允許修改默認請求配置的回調(例如請求超時,身份驗證或org.apache.http.client.config.RequestConfig.Builder允許設置的任何內容)。
RestClientBuilder builder = RestClient.builder(new HttpHost("localhost", 9200, "http")); builder.setHttpClientConfigCallback(new RestClientBuilder.HttpClientConfigCallback() { @Override public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpClientBuilder) { return httpClientBuilder.setProxy(new HttpHost("proxy", 9000, "http")); } });
設置允許修改http客戶端配置的回調(例如通過ssl進行加密通信,或者org.apache.http.impl.nio.client.HttpAsyncClientBuilder允許設置的任何內容)。
上一篇:Java Low Level REST Client 入門 下一篇:執行請求文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/71896.html
摘要:入門本節描述從獲取工件到在應用程序中使用它如何開始使用低級別客戶端。倉庫低級別客戶端托管在上,所需的最低版本是。請注意,對進行也會產生影響,例如,對圖層進行意味著第三方日志記錄后端也需要。 Java Low Level REST Client 入門 本節描述從獲取工件到在應用程序中使用它如何開始使用低級別REST客戶端。 Javadoc 可以在https://artifacts.ela...
摘要:用于的官方高級別客戶端,基于低級別客戶端,它公開特定的方法,并負責請求編組和響應反編組。入門初始化執行請求讀取響應日志記錄通用配置嗅探器在中被添加。依賴于核心項目,它接受與相同的請求參數,并返回相同的響應對象。 Elasticsearch Java REST Client Java REST Client有兩種類型: Java Low Level REST Client:用于Elast...
摘要:嗅探器允許從正在運行的集群中自動發現節點并將它們設置到現有的實例的最小的庫,它默認使用節點信息檢索屬于集群的節點,并使用解析獲得的響應??梢栽谡业娇蛻舳诵崽狡鞯?。 嗅探器 允許從正在運行的Elasticsearch集群中自動發現節點并將它們設置到現有的RestClient實例的最小的庫,它默認使用節點信息api檢索屬于集群的節點,并使用jackson解析獲得的json響應。 與Elas...
閱讀 2293·2021-11-25 09:43
閱讀 3446·2021-10-25 09:48
閱讀 1321·2021-09-13 10:24
閱讀 2735·2019-08-29 15:07
閱讀 1258·2019-08-29 13:14
閱讀 3265·2019-08-29 12:22
閱讀 1354·2019-08-29 11:32
閱讀 3229·2019-08-29 11:23