Мне нужен объект Singletone на Client side в GWT .

Мне нужна одна Singletone Map(String, Map(String, Object) ) ChangeMap (то есть единый объект этой ChangeMap для всего приложения), в которой будут храниться изменения, сделанные любым пользователем.

Каждый пользователь может получить все изменения, сделанные любым пользователем.

Например, есть два пользователя ABC и XYZ, которые вошли в приложение GWT.

Теперь пользователь ABC добавил два города и удалил 1 страну через приложение.

А пользователь XYZ добавил двух новых пользователей и обновил одну новую роль.

Тогда в этой ChangeMap значения должны быть:

ChangeMap

{ {"ABC",{"added",City1} }, 
  {"ABC",{"added",City2} } , 
  {"ABC",{"deleted",country1} }, 
  {"XYZ",{"added",User1} }, 
  {"XYZ",{"added",User2} }, 
  {"XYZ",{"updated",Role1} }
}
1
Rajnikant Patel 1 Май 2013 в 15:01

1 ответ

Лучший ответ

Что ж, GWT играет на стороне client, не отправляя requests на server, другие пользователи не получат эти effects.

Помните, что одноэлементный объект должен находиться в servletVContext даже не в session, чтобы каждый пользователь мог получить к нему доступ.

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

Вот примеры кода событий, о которых я говорю.

1
Suresh Atta 1 Май 2013 в 15:11
Спасибо за ваш быстрый ответ. Но должен быть другой способ сделать это. Я использую пружину для контроллера. У вас есть идея?
 – 
Rajnikant Patel
1 Май 2013 в 15:10
Может быть, вам поможет серверный push. Нет лучшей альтернативы.
 – 
Suresh Atta
1 Май 2013 в 15:12