成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Elasticsearch Java Low Level REST Client(初始化)

BWrong / 2372人閱讀

摘要:設(shè)置在多次嘗試同一請(qǐng)求時(shí)應(yīng)該遵守的超時(shí),默認(rèn)值為秒,與默認(rèn)超時(shí)相同。如果自定義超時(shí),則應(yīng)相應(yīng)地調(diào)整最大重試超時(shí)。設(shè)置一個(gè)監(jiān)聽(tīng)器,每次節(jié)點(diǎn)出現(xiàn)故障時(shí)都會(huì)收到通知,以防需要采取措施,當(dāng)啟用故障嗅探時(shí)在內(nèi)部使用。

初始化

可以通過(guò)相應(yīng)的RestClientBuilder類構(gòu)建RestClient實(shí)例,通過(guò)RestClient#builder(HttpHost...)靜態(tài)方法創(chuàng)建,唯一必需的參數(shù)是客戶端將與之通信的一個(gè)或多個(gè)主機(jī),作為HttpHost的實(shí)例提供,如下所示:

RestClient restClient = RestClient.builder(
        new HttpHost("localhost", 9200, "http"),
        new HttpHost("localhost", 9201, "http")).build();

RestClient類是線程安全的,理想情況下與使用它的應(yīng)用程序具有相同的生命周期,重要的是不再需要時(shí)關(guān)閉它,以便它所使用的所有資源得到正確釋放,以及底層的http客戶端實(shí)例及其線程:

restClient.close();

RestClientBuilder還允許在構(gòu)建RestClient實(shí)例時(shí)可選地設(shè)置以下配置參數(shù):

RestClientBuilder builder = RestClient.builder(new HttpHost("localhost", 9200, "http"));
Header[] defaultHeaders = new Header[]{new BasicHeader("header", "value")};
builder.setDefaultHeaders(defaultHeaders);

設(shè)置需要隨每個(gè)請(qǐng)求一起發(fā)送的默認(rèn)headers,以防止必須為每個(gè)請(qǐng)求指定它們。

RestClientBuilder builder = RestClient.builder(new HttpHost("localhost", 9200, "http"));
builder.setMaxRetryTimeoutMillis(10000);

設(shè)置在多次嘗試同一請(qǐng)求時(shí)應(yīng)該遵守的超時(shí),默認(rèn)值為30秒,與默認(rèn)socket超時(shí)相同。如果自定義socket超時(shí),則應(yīng)相應(yīng)地調(diào)整最大重試超時(shí)。

RestClientBuilder builder = RestClient.builder(new HttpHost("localhost", 9200, "http"));
builder.setFailureListener(new RestClient.FailureListener() {
    @Override
    public void onFailure(Node node) {
        
    }
});

設(shè)置一個(gè)監(jiān)聽(tīng)器,每次節(jié)點(diǎn)出現(xiàn)故障時(shí)都會(huì)收到通知,以防需要采取措施,當(dāng)啟用故障嗅探時(shí)在內(nèi)部使用。

RestClientBuilder builder = RestClient.builder(new HttpHost("localhost", 9200, "http"));
builder.setNodeSelector(NodeSelector.SKIP_DEDICATED_MASTERS);

設(shè)置用于過(guò)濾節(jié)點(diǎn)的節(jié)點(diǎn)選擇器,客戶端將發(fā)送請(qǐng)求到設(shè)置給客戶端本身的節(jié)點(diǎn)之一,這有助于防止在啟用嗅探時(shí)向?qū)S弥鞴?jié)點(diǎn)發(fā)送請(qǐng)求,默認(rèn)情況下,客戶端向每個(gè)配置的節(jié)點(diǎn)發(fā)送請(qǐng)求。

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); 
    }
});

設(shè)置允許修改默認(rèn)請(qǐng)求配置的回調(diào)(例如請(qǐng)求超時(shí),身份驗(yàn)證或org.apache.http.client.config.RequestConfig.Builder允許設(shè)置的任何內(nèi)容)。

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"));  
    }
});

設(shè)置允許修改http客戶端配置的回調(diào)(例如通過(guò)ssl進(jìn)行加密通信,或者org.apache.http.impl.nio.client.HttpAsyncClientBuilder允許設(shè)置的任何內(nèi)容)。

上一篇:Java Low Level REST Client 入門 下一篇:執(zhí)行請(qǐng)求

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/71896.html

相關(guān)文章

  • Elasticsearch Java Low Level REST Client(入門)

    摘要:入門本節(jié)描述從獲取工件到在應(yīng)用程序中使用它如何開始使用低級(jí)別客戶端。倉(cāng)庫(kù)低級(jí)別客戶端托管在上,所需的最低版本是。請(qǐng)注意,對(duì)進(jìn)行也會(huì)產(chǎn)生影響,例如,對(duì)圖層進(jìn)行意味著第三方日志記錄后端也需要。 Java Low Level REST Client 入門 本節(jié)描述從獲取工件到在應(yīng)用程序中使用它如何開始使用低級(jí)別REST客戶端。 Javadoc 可以在https://artifacts.ela...

    Achilles 評(píng)論0 收藏0
  • Elasticsearch Java REST Client(目錄)

    摘要:用于的官方高級(jí)別客戶端,基于低級(jí)別客戶端,它公開特定的方法,并負(fù)責(zé)請(qǐng)求編組和響應(yīng)反編組。入門初始化執(zhí)行請(qǐng)求讀取響應(yīng)日志記錄通用配置嗅探器在中被添加。依賴于核心項(xiàng)目,它接受與相同的請(qǐng)求參數(shù),并返回相同的響應(yīng)對(duì)象。 Elasticsearch Java REST Client Java REST Client有兩種類型: Java Low Level REST Client:用于Elast...

    roland_reed 評(píng)論0 收藏0
  • Elasticsearch Java Low Level REST Client(嗅探器)

    摘要:嗅探器允許從正在運(yùn)行的集群中自動(dòng)發(fā)現(xiàn)節(jié)點(diǎn)并將它們?cè)O(shè)置到現(xiàn)有的實(shí)例的最小的庫(kù),它默認(rèn)使用節(jié)點(diǎn)信息檢索屬于集群的節(jié)點(diǎn),并使用解析獲得的響應(yīng)??梢栽谡业娇蛻舳诵崽狡鞯?。 嗅探器 允許從正在運(yùn)行的Elasticsearch集群中自動(dòng)發(fā)現(xiàn)節(jié)點(diǎn)并將它們?cè)O(shè)置到現(xiàn)有的RestClient實(shí)例的最小的庫(kù),它默認(rèn)使用節(jié)點(diǎn)信息api檢索屬于集群的節(jié)點(diǎn),并使用jackson解析獲得的json響應(yīng)。 與Elas...

    hiYoHoo 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<