Как сохранить работоспособное HTTP-соединение в Dropwizard / Jersey? - PullRequest
0 голосов
/ 24 апреля 2020

У меня есть простая конечная точка отдыха, которая ищет сообщение в топике Кафки c. В зависимости от того, когда / если это сообщение найдено, этот процесс может занять пару минут. Когда я вызываю эту конечную точку через Swagger, я получаю обратно 504 - Server Timeout. Как я могу сохранить это соединение, чтобы клиент не получил тайм-аут?

1 Ответ

1 голос
/ 30 апреля 2020

Dropwizard позволит вам настроить idleTimeout (по умолчанию 30 секунд), см. справочник по конфигурации

Но я должен предупредить вас, что это опасный путь с такими проблемами, как:

  1. Очистка пула соединений
  2. Проблемы с сетью, которые приводят к разрыву соединений
  3. Промежуточное программное обеспечение (например, балансировщики нагрузки), которые прерывают соединения

Если ваш процессу требуется больше времени, тогда есть некоторые решения, такие как: 1. Веб-сокеты (уведомить клиента о завершении операции). 2. Длительный опрос (периодически опрашивать сервер на предмет завершения)

...