Синхронизация FutureTask и HttpSession - PullRequest
1 голос
/ 18 января 2012

У меня длинный процесс (~ 10 секунд), который запускается по запросу пользователя в моем контроллере (пружина 3.1 между прочим)

Я думал запустить FutureTask в контроллере, и что запрос ajax будет запрашивать сервер каждую секунду, чтобы проверить завершение.

Итак, мои вопросы:

  1. Кто-нибудь делал что-то подобное? (каким-то образом синхронизировать значение сеанса с возвращаемым значением из FutureTask)? если так - я бы с радостью понял.
  2. У вас есть какая-нибудь крутая идея о том, как реализовать эту функцию (запрос http в контроллере, который проверяет состояние будущей задачи)?

1 Ответ

0 голосов
/ 18 января 2012

Новое старое значение для этого типа требований: " Comet " aka Ajax Push, Long-Polling и т. Д. И т. Д. В основном вместо того, чтобы клиенты забивали ваш сервер, спрашивая: "Вы уже закончили?" ты уже сделал? ты уже сделал? " вы просто оставляете сокет открытым в очереди на сервере и отправляете им данные, когда это будет сделано.

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

...