Вызов REST отвечает 504, но сервер все равно получает объект - PullRequest
0 голосов
/ 19 октября 2018

У меня есть приложение с пружинной загрузкой, которое развернуто на той же машине, что и двигатель Camunda bpm.Движок развернут на WildFly, приложение весенней загрузки находится в своем собственном Tomcat.

Приложение пытается выполнить POST-запрос к API-интерфейсу движка camunda, но через 50 секунд оно получает ошибку 504, но в то же времямеханизм получает данные и работает нормально, как если бы запрос был успешным.

Если запрос возвращает код ошибки, например 400, приложение получает ответ мгновенно.Только тогда, когда запрос будет успешным, время ожидания истекло.

Я попытался выполнить запрос к движку от Почтальона, он работает нормально и отвечает примерно за 100 мс.

Я пытался сделать это сJAXRS WS и HttpURLConnection.Они оба ведут себя абсолютно одинаково.

В чем может быть проблема с тайм-аутом, но также с одновременной работой?

String baseUrl = configurationBean.getSettingValue("PORTAL_BASE_URL");
        baseUrl += "/engine-rest/message";          
        URL url = new URL(baseUrl);
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setDoOutput(true);
        conn.setConnectTimeout(120000);
        conn.setReadTimeout(120000);
        conn.setInstanceFollowRedirects(false);
        conn.setRequestMethod("POST");
        conn.setRequestProperty("Content-Type", "application/json");            
        OutputStream os = conn.getOutputStream();
        os.write(json.getBytes());
        os.flush();
        if (conn.getResponseCode() != HttpURLConnection.HTTP_CREATED) {
            throw new RuntimeException("Failed : HTTP error code : "
                    + conn.getResponseCode());
        }

        BufferedReader br = new BufferedReader(new InputStreamReader(
                (conn.getInputStream())));

        String output;          
        while ((output = br.readLine()) != null) {
            System.out.println(output);
        }

        conn.disconnect();

    } catch (MalformedURLException e) {

        e.printStackTrace();

    } catch (IOException e) {

        e.printStackTrace();

    }
...