Длинный опрос Ajax в Java, Spring MVC — проблема с областью сеанса

Я пытаюсь реализовать механизм длительного опроса для автоматического обновления сетки в проекте, использующем Spring MVC.

Я отправляю запрос Ajax от клиента, а на стороне сервера я ввожу цикл while, пока данные не будут найдены, а затем данные отправляются обратно в качестве ответа.

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

Я подумал, что мне нужна переменная или компонент области сеанса, который изменяется, когда клиент меняет вкладку, и который доступен внутри цикла, чтобы он мог сломаться при изменении. Когда я попытался использовать область действия bean-компонентов Spring MVC, я заметил, что свойство bean-компонента, которое я использую в двух разных сеансах (то есть HttpSession). Я проверил это, войдя в систему с другим пользователем с той же машины.

Я пытался использовать, но у меня был тот же результат.

Любые идеи о том, как заставить это работать?

Заранее спасибо.


person alex    schedule 03.11.2011    source источник


Ответы (1)


Длинный опрос и другие асинхронные процессы вводятся в Spring MVC 3.2 (в настоящее время это промежуточный выпуск). Возможно, стоит посмотреть, а не пытаться реализовать собственное решение.

http://blog.springsource.org/2012/05/13/spring-mvc-3-2-preview-adding-long-polling-to-an-existing-web-application/

person drei01    schedule 21.05.2012