1. jar版本
elasticsearch-rest-high-level-client 7.12.1
2. 问题
SpringBoot项目启动后,长时间没有进行接口调用(没有执行es请求),突然进行接口调用时(es请求)报错
2022-05-06 13:10:57.342 ERROR 30118 --- [io-10000-exec-9] : 出现未知异常:: 30,000 milliseconds timeout on connection http-outgoing-10 [ACTIVE]
: 30,000 milliseconds timeout on connection http-outgoing-7 [ACTIVE]
...
...
Caused by: : 30,000 milliseconds timeout on connection http-outgoing-7 [ACTIVE]
at (:387)
at (:92)
at (:39)
at (:175)
at (:261)
at (:502)
at (:211)
at (:280)
at (:104)
3. 目前的处理方式(未验证)
RestClientBuilder rclientBuilder = (new HttpHost(esConfig.getNode1Ip(), esConfig.getNode1Port(), esConfig.getNode1Scheme())
.setHttpClientConfigCallback(new () {
@Override
public HttpAsyncClientBuilder customizeHttpClient(HttpAsyncClientBuilder httpClientBuilder) {
return httpClientBuilder
.setKeepAliveStrategy((response, context) -> (5).toMillis());
}
});
restHighLevelClient = new RestHighLevelClient(rclientBuilder);
通过添加配置:
((response, context) -> (5).toMillis());
来保持client 每 5分钟 发送数据保持http存活
4. 参考博客
-
/a18100171871/article/details/112272852?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1-112272852-blog-112541581.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1-112272852-blog-112541581.pc_relevant_default&utm_relevant_index=2
-
/developer/article/1943055