Play Framework + Java + 504 таймаут шлюза при вызове WS GET api - PullRequest
0 голосов
/ 18 июня 2020

Мы используем PlayFramework для разработки Java APIS.

Проблема, с которой мы сталкиваемся, когда вызываем WS api для получения данных из стороннего API.

private Stream<PostData> select(EntityManager em) {
    myClient.doGetCall(); //Rest api call 1
    myClient.doGetCall(); //Rest api call 2
    myClient.doGetCall(); //Rest api call 3
    myClient.doGetCall(); //Rest api call 4

    System.out.println("done");

    TypedQuery<PostData> query = em.createQuery("SELECT p FROM PostData p", PostData.class);
    return query.getResultList().stream();
}

Когда мы вызываем этот API, он дает 504 тайм-аута. Но если я вызываю одиночный api, он работает

private Stream<PostData> select(EntityManager em) {
    System.out.println("done");

    myClient.doGetCall(); //Rest api call 1

    TypedQuery<PostData> query = em.createQuery("SELECT p FROM PostData p", PostData.class);
    return query.getResultList().stream();
}

Таким образом, ошибка не возникает во внутреннем вызове api с использованием WS. Но возникает ошибка в основном REST-API, разработанном в play-framework.

Не уверен, что в этом плохого. Пожалуйста, помогите нам. Заранее спасибо.

...