小编use*_*337的帖子

Spring Data Elasticsearch 2.2.3.RELEASE如何配置Rest高级客户端的socket超时

我将 Spring Boot Starter Data Elasticsearch 2.2.3.RELEASE 与 Elasticsearch v6.8.6 一起使用。我配置了 RestHighLevelClient 以连接到集群。

现在我经常在不同的操作上得到一个 SocketTimeoutException:

java.net.SocketTimeoutException: 5,000 milliseconds timeout on connection http-outgoing-95 [ACTIVE]
at org.apache.http.nio.protocol.HttpAsyncRequestExecutor.timeout(HttpAsyncRequestExecutor.java:387) ~[httpcore-nio-4.4.13.jar!/:4.4.13]
at org.apache.http.impl.nio.client.InternalIODispatch.onTimeout(InternalIODispatch.java:92) ~[httpasyncclient-4.1.4.jar!/:4.1.4]
at org.apache.http.impl.nio.client.InternalIODispatch.onTimeout(InternalIODispatch.java:39) ~[httpasyncclient-4.1.4.jar!/:4.1.4]
at org.apache.http.impl.nio.reactor.AbstractIODispatch.timeout(AbstractIODispatch.java:175) ~[httpcore-nio-4.4.13.jar!/:4.4.13]
at org.apache.http.impl.nio.reactor.BaseIOReactor.sessionTimedOut(BaseIOReactor.java:261) ~[httpcore-nio-4.4.13.jar!/:4.4.13]
at org.apache.http.impl.nio.reactor.AbstractIOReactor.timeoutCheck(AbstractIOReactor.java:502) ~[httpcore-nio-4.4.13.jar!/:4.4.13]
at org.apache.http.impl.nio.reactor.BaseIOReactor.validate(BaseIOReactor.java:211) ~[httpcore-nio-4.4.13.jar!/:4.4.13]
at org.apache.http.impl.nio.reactor.AbstractIOReactor.execute(AbstractIOReactor.java:280) ~[httpcore-nio-4.4.13.jar!/:4.4.13]
at org.apache.http.impl.nio.reactor.BaseIOReactor.execute(BaseIOReactor.java:104) ~[httpcore-nio-4.4.13.jar!/:4.4.13]
at org.apache.http.impl.nio.reactor.AbstractMultiworkerIOReactor$Worker.run(AbstractMultiworkerIOReactor.java:591) ~[httpcore-nio-4.4.13.jar!/:4.4.13]
at java.lang.Thread.run(Thread.java:748) [na:1.8.0_201]
Run Code Online (Sandbox Code Playgroud)

我可以在 Spring Boot 应用程序中配置套接字超时吗?如果是,在哪里。

我尝试配置 ClientConfiguration 的套接字超时我创建了没有效果的 RestHighLevelClient :

    ClientConfiguration clientConfiguration = ClientConfiguration.builder()
            .connectedTo(nodes)
            .withSocketTimeout(Duration.ofSeconds(30))
            .build();

    RestHighLevelClient client = RestClients.create(clientConfiguration).rest();
Run Code Online (Sandbox Code Playgroud)

spring elasticsearch spring-boot spring-data-elasticsearch

5
推荐指数
1
解决办法
3413
查看次数

Spring Data Elasticsearch 自定义 @Query 超过 10 个参数

我正在使用 spring-boot-starter-data-elasticsearch 2.1.0.RC1。

我有一个自定义查询(通过 @Query 注释),我想在其中传递 11 个参数。查询如下所示:

{
      "bool" : {
        "must" : [
          {
            "range" : {
              "attribute0" : { "gte" : ?0, "lte" : ?1 }
            }
          },
          {
            "range" : {
              "attribute1" : { "gte" : ?2, "lte" : ?3 }
            }
          },
          {
            "term": { "attribute2": "?4" }
          },
          {
            "term": { "attribute3": "?5" }
          },
          {
            "term": { "attribute4": "?6" }
          },
          {
            "term": { "attribute5": "?7" }
          },
          {
            "term": { "attribute6": "?8" …
Run Code Online (Sandbox Code Playgroud)

elasticsearch spring-data spring-boot spring-data-elasticsearch

2
推荐指数
1
解决办法
4528
查看次数