Ajax Long Polling в Java, Spring MVC - проблема с областью сеанса - PullRequest
2 голосов
/ 03 ноября 2011

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

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

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

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

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

Есть идеи, как заставить это работать?

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

1 Ответ

0 голосов
/ 21 мая 2012

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

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

...