504 (время ожидания шлюза) по запросу GET - PullRequest
0 голосов
/ 19 ноября 2018

Я использую Java, чтобы выполнить запрос GET с HttpURLConnection на наш сервер.(Тайм-аут равен бесконечности)

       HttpURLConnection con = (HttpURLConnection) obj.openConnection();
       con.setConnectTimeout(0);
       con.setReadTimeout(0);

Сервер настроен как Spring Controller и имеет доступ к БД MySQL и запускает некоторые запросы.

В некоторых случаях, если вызов занимает 50 секунд, я получаю ответ 504 (время ожидания шлюза) от сервера, и на сервере возникает исключение: "org.apache.catalina.connector.ClientAbortException: null .... Причины: java.net.SocketException: сброс подключения "

В чем причина истечения времени ожидания?Это на стороне сервера?или на стороне клиента?

Спасибо.

1 Ответ

0 голосов
/ 19 ноября 2018

MySQL имеет собственные внутренние настройки тайм-аута. Попробуйте выполнить следующие SQL-запросы к этой базе данных, прежде чем выполнять другие ваши запросы:

SET SESSION connect_timeout=300;
SET SESSION max_execution_time=300;

Я полагаю, что эти переменные также могут быть установлены в 0 (бесконечность), хотя это может повлиять на стабильность службы и повлиять на других одновременных пользователей (если они есть).

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