Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Задержка запросов на сервер


Автор: Fevzi 28.3.2008, 20:06
Вообщем есть приложение, которое отправляет на сервер запросы(вернее клиенты через браузер коннектятся к веб-приложению, а приложение посылает запрос на другой сервер и присылает респонс).Нужно в приложение интегрить класс который будет перехватывать реквесты, ставить их в очередь и отсылать их по одному через секунду.Помогите, если кто сталкивался.

Автор: powerOn 28.3.2008, 22:43
Цитата(Fevzi @  28.3.2008,  20:06 Найти цитируемый пост)
Вообщем есть приложение, которое отправляет на сервер запросы(вернее клиенты через браузер коннектятся к веб-приложению, а приложение посылает запрос на другой сервер и присылает респонс).Нужно в приложение интегрить класс который будет перехватывать реквесты, ставить их в очередь и отсылать их по одному через секунду.


Релизуйте сервис для отправки запросов в виде сингелтона. Пусть он ставит все запросы в очередь и выполняет их с определенным интервалом.


Автор: Fevzi 29.3.2008, 17:45
Цитата(powerOn @ 28.3.2008,  22:43)
Цитата(Fevzi @  28.3.2008,  20:06 Найти цитируемый пост)
Вообщем есть приложение, которое отправляет на сервер запросы(вернее клиенты через браузер коннектятся к веб-приложению, а приложение посылает запрос на другой сервер и присылает респонс).Нужно в приложение интегрить класс который будет перехватывать реквесты, ставить их в очередь и отсылать их по одному через секунду.


Релизуйте сервис для отправки запросов в виде сингелтона. Пусть он ставит все запросы в очередь и выполняет их с определенным интервалом.

Нужно как-то сервису передавать запрос, а он возвращал респонс.

Автор: powerOn 29.3.2008, 18:07
Цитата(Fevzi @  29.3.2008,  17:45 Найти цитируемый пост)
Нужно как-то сервису передавать запрос, а он возвращал респонс. 


Ссылку на сервис-сингелтон обычно можно получит с помощью статических методов. Зависит от его реализации. Еще можно использовать IoC подход, но у вас должен быть IoC компоновщик (контейнер), который будет управлять связями компонентов. Это может быть Spring к примеру. 

Получение ответа от сервиса можно сделать 2 способами:
1) Как результат вызова метода. Т.е. совершенно естественным образом - синхронным.
2) Через регистрацию обратного вызова (callback) - асинхронный вызов. Т.е. методу сервиса, кроме запроса передаётся объект, метод которого он вызовет как только запрос будет обработан. И результат выполнения запроса будет передан в метод обратного вызова.

Какой вариант является более подходящим зависит от организации жизненного цикла обработки запросов. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)