Spring boot + AWS Linux + база данных Oracle - PullRequest
0 голосов
/ 30 октября 2018

Я разработал REST API Spring Boot с JPA для AWS Linux с Oracle11g в качестве базы данных, так как мы имеем дело с загрузкой Spring, нам не нужно заботиться о соединениях.

netstat -n | grep 1521   

Когда я запустил эту команду, чтобы проверить, все ли соединения закрыты или нет, я вижу, что многие соединения находятся в состоянии CLOSE_WAIT.
Кто-нибудь может подсказать, что не так в приложении или конфигурации Tomcat или Apache?

application.properties

spring.datasource.remove-abandoned=true  
spring.datasource.remove-abandoned-timeout=30  
spring.datasource.max-active=50  
spring.datasource.max-idle=8  
spring.datasource.min-idle=8  
spring.datasource.initial-size=10  
spring.datasource.max-wait=10000

1 Ответ

0 голосов
/ 30 октября 2018

Проблема в том, что HttpResponse не был закрыт, чтобы исправить это, я использовал HttpClientUtils.closeQuietly, см. Ниже:

HttpResponse response = null;
    try {
        response = client.execute(createHttpRequest(url, timeOut));
        StringBuilder result = new StringBuilder();
        try (BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()))) {
            String line;
            while ((line = rd.readLine()) != null) {
                result.append(line);
            }
        }
        return result;
    } catch (org.apache.http.conn.HttpHostConnectException e) {
        throw new HostUnreachableException(e);
    } finally {
        HttpClientUtils.closeQuietly(response);
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...