Я хотел бы интегрировать сервлет 3,0 асинхронной поддержки с пружинным MVC. Что-то как:
@RequestMapping("/chat")
@WebServlet(name="myServlet", asyncSupported=true)
public String getMessage(String userName) {
......
}
действительно ли это возможно?
Еще не реализовано в 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 к серверу, ваш контроллер будет держать его открытым, пока сервер не получит новые данные для отправки в браузер. Браузер инициирует новый длинный запрос на опрос, чтобы получить последующие события. Чтобы избежать тайм-аутов соединения, просто возвращайте фиктивные значения, которые заставляют клиента повторять запрос.
Простой способ в большинстве случаев является лучшим решением.