我正在使用JEST在spring-boot應用程序中連接到elasticsearch.當應用程序空閒(不向elasticsearch發送任何請求)一段時間後,JestClient就會拋出SocketTImeoutException.第二次請求很快就相應.
這是我之前的配置
spring.elasticsearch.jest.uris=http://x.x.x.x:9200
spring.elasticsearch.jest.read-timeout=10000
加上以下配置後修復
spring.elasticsearch.jest.connection-timeout=10000
最後附上jest的所有配置介紹
#JEST (Elasticsearch HTTP客戶端)(JestProperties)
spring.elasticsearch.jest.connection-timeout = 3s #連接超時。
spring.elasticsearch.jest.multi-threaded = true #是否從多個執行線程啓用連接請求。
spring.elasticsearch.jest.password = #登錄密碼。
spring.elasticsearch.jest.proxy.host = #HTTP 客戶端應使用的代理主機。
spring.elasticsearch.jest.proxy.port = #HTTP 客戶端應使用的代理端口。
spring.elasticsearch.jest.read-timeout = 3s #讀取超時。
spring.elasticsearch.jest.uris = http:// localhost:9200#逗號分隔的Elasticsearch實例列表。
spring.elasticsearch.jest.username = #登錄用戶名。