Я хочу сделать AJAX-вызов моего веб-приложения на Java. Веб-приложение Java, в свою очередь, выполнит асинхронный обратный вызов в другом месте. Результат этого вызова будет затем возвращен как результат запроса AJAX.
Суть моего вопроса что бы я делал с HttpRequest, пока я жду возвращения второго вызова?
Должен ли я просто блокировать и ждать вызова в методе обработчика AJAX, или я храню запрос где-нибудь и жду обратного вызова? Как бы я обработал ошибки / тайм-ауты?
Для тех, кому небезразлична дополнительная информация о том, как я пришел к этой ситуации, следует:
Это часть системы обмена мгновенными сообщениями на основе XMPP. Существует один пользователь глобальной поддержки, который отображается в виде значка на каждой странице нашего веб-приложения. Я также хочу отобразить присутствие этого пользователя, , поэтому , я мог бы просто использовать систему IM для запроса присутствия этих пользователей при каждой загрузке страницы для каждого пользователя и, в конечном итоге, непосредственно в DDOS. Вместо этого я хочу, чтобы один пользователь периодически запрашивал информацию о присутствии из веб-приложения и кэшировал результат.
Поэтому AJAX-вызов поступает на сервер, который затем либо возвращает кэшированное присутствие, либо запрашивает сервер XMPP асинхронно.