Пружинный ботинок - 504 Gateway Time-out - PullRequest
0 голосов
/ 11 апреля 2019

Мы сталкиваемся с проблемой, которая часто возникает (чаще всего впервые) в следующей архитектуре. У нас есть приложение X, связывающееся с приложением Y, которое вызывает внешний API. Иногда приложение Y вызывает внешний API, которое оно отправляет обратно:

<html><body><h1>504 Gateway Time-out</h1>The server didn't respond in time.\n</body></html>

Мы попытались установить это значение в application.yml

server:
    connection-timeout: 300000

А также изменение значения таймаута остальных шаблонов:

  private ClientHttpRequestFactory getRequestFactory() {
    HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory();
    factory.setReadTimeout(600000);
    factory.setConnectTimeout(600000);
    factory.setConnectionRequestTimeout(600000);
    return factory;
  }

Код, выдавший ошибку:

return CompletableFuture.supplyAsync(() -> {
    try {
        return restTemplate.exchange(uri, httpMethod, requestEntity, clazz);
    } catch (Exception e) {
        throw new CompletionException(e); // The exception we throw that contains the html code.
    }
});

Есть идеи?

1 Ответ

0 голосов
/ 17 апреля 2019

1) Проверьте время с помощью SoapUI - если API является Soap API

Если вы используете Wildfly, вы можете изменить время ожидания.Может быть тайм-аут с сервера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...