Когда закрывать aws лямбда-слой httpClient - PullRequest
0 голосов
/ 02 марта 2020

Я использую закрываемый объект в моем java лямбда-слое, а именно клиент высокого уровня эластичного поиска. Однако через определенное время я сталкиваюсь с IOReactorException и java .io.IOException : исключение истечения времени ожидания слушателя. Я просто хочу повторно использовать тот же экземпляр, насколько я понимаю, каждый лямбда-вызов приводит к новой конструкции клиента. Я использовал экземпляр клиента es следующим образом:

public synchronized  RestHighLevelClient getInstance(String region, String esEndpoint) {

    if (instance == null) {
        instance = esClient(serviceName, region, esEndpoint);
    }
    return instance;
}

Снова на уровне я вызываю API индексации следующим образом:

IndexRequest request = new IndexRequest(indexName, "_doc").source(jsonString, XContentType.JSON);
IndexResponse response = getInstance(region, endpoint).index(request, RequestOptions.DEFAULT);

Мне интересно, должен ли я вызывать экземпляр. close () в какой-то момент. Если нет, что может вызвать проблемы с ошибками ввода-вывода?

...