Как использовать Сервлет 3 @WebServlet и асинхронный с Spring MVC 3?

Я хотел бы интегрировать сервлет 3,0 асинхронной поддержки с пружинным MVC. Что-то как:

@RequestMapping("/chat")
@WebServlet(name="myServlet", asyncSupported=true)
public String getMessage(String userName) {
      ......
}

действительно ли это возможно?

12
задан Robert Harvey 26 February 2011 в 02:26
поделиться

1 ответ

Еще не реализовано в Spring Framework 3.x. См. https://jira.springframework.org/browse/SPR-5587 и https://jira.springsource.org/browse/SPR-8517

Если вам нужна комета поддержка (длинный опрос ajax) Вы можете попробовать CometD (http://cometd.org/documentation/cometd-java/server/services/integration-spring). Но я предупреждаю вас, что я уронил его, это просто раздуто! (Такая простая вещь, как долгий опрос, требует нескольких дней настройки??!)

Я бы просто реализовал себе несколько RESTful-контроллеров в Spring3 и запрограммировал длинный опрос. Сделайте запрос в стиле Ajax к серверу, ваш контроллер будет держать его открытым, пока сервер не получит новые данные для отправки в браузер. Браузер инициирует новый длинный запрос на опрос, чтобы получить последующие события. Чтобы избежать тайм-аутов соединения, просто возвращайте фиктивные значения, которые заставляют клиента повторять запрос.

Простой способ в большинстве случаев является лучшим решением.

3
ответ дан 2 December 2019 в 22:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: