Уведомление на основе сервлетов GWT (серверная шина событий) - PullRequest
2 голосов
/ 02 марта 2010

Может кто-нибудь придумать хороший способ разрешить серверу уведомлять клиента на основе обработки сервером? Например, рассмотрим следующие события:

  1. Пользователь запрашивает удаление данных, однако из-за его продолжительного времени мы отправляем их в очередь.
  2. Клиент получает сообщение «Да, мы успешно завершили транзакцию».
  3. Сервер удаляет элемент и теперь хочет обновить любые локальные структуры, которые могут использовать любые клиенты (я также хотел бы уведомить пользователя).

Я знаю, что это можно сделать с помощью опроса на стороне клиента. Есть ли способ сделать это с помощью шины событий? Любые предложения приветствуются, но учтите, что я использую GWT с App Engine.

Ответы [ 2 ]

2 голосов
/ 03 марта 2010

Вы хотите серверные события для GWT? Посмотрите на GwtEventService (они не могли выбрать лучшее имя): http://code.google.com/p/gwteventservice/wiki/StartPage

Конечно, он использует реализацию Comet, но вы не можете сделать что-то другое при использовании HTTP, клиент всегда инициирует связь. Запрос, ответ.

2 голосов
/ 02 марта 2010

Стандартное взаимодействие AJAX заключается в том, что клиент отправляет запросы на сервер и ожидает довольно быстрый ответ.

Чтобы сервер мог инициировать запрос к клиенту, вам нужно будет использовать WebSockets , а экспериментальная функция HTML5 в настоящее время поддерживается только Chrome.

Или, чтобы симулировать такого рода взаимодействие, вы можете использовать Comet (long-polling), предоставленный в GWT проектом rocket-gwt .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...