Я написал приложение, использующее встроенную Jetty, которое выполняет сетевые вызовы для других служб.
Я предполагаю, что обслуживающие потоки бездействуют, ожидая завершения сетевых вызовов.
Есть ли способ иметь рабочий поток, который переключается между запросами для выполнения работы, которая может быть выполнена в текущее время, а затем, когда сетевые вызовы return также обрабатывают это? Запрос будет возвращен, когда все работы для него будут завершены.
Я знаю, что это обычная парадигма, и я использовал ее для неблокирующей сети TCP, но я не уверен, как этого добиться на HTTP-сервере Java, ожидая при этом внешних результатов.
Любые ссылки или объяснения приветствуются.
Спасибо
Обновление:
Я использую Membase и ElasticSearch (единственные сетевые вызовы). Membase возвращает объекты «Future», а ElasticSearch возвращает «ListenableActionFuture». Я хотел бы иметь возможность продолжить обработку потока в ответ на возвращаемые объекты.