JSF 2.0 (IceFaces 3.2) ApplicationScoped bean, общие данные и PUSH

У меня небольшая проблема с общими данными и push.

У меня есть таблица, содержащая три строки; эти строки различаются в зависимости от выбранной контрольной даты (каждый пользователь может выбрать свою контрольную дату, поэтому она входит в область действия сеанса), например, скажем, у меня есть:

  • [{1, 'a', "active"}, {2, 'b', "active"}, {3, 'c', "inactive"}] для контрольной даты 10-февраля-13 и
  • [{4, 'a', "неактивный"}, {5, 'b', "активный"}, {6, 'c', "неактивный"}] для контрольной даты 13-мар-13.

Объекты - это тройки вида {ID, LABEL, STATUS}.

Строки должны быть общими для пользователей, просматривающих одну и ту же контрольную дату, например, пользователи U1 и U2 просматривают таблицу с контрольной датой 10-фев-13. в идеале, когда U1 изменяет строку {1, 'a', "active"} на "неактивный", модификация распространяется на пользователя U2, который тоже видит его, посредством Push-уведомления (фактически IcePush). Все идет нормально.

Моя проблема возникает, когда все больше пользователей смотрят разные контрольные даты, так как мне приходится отфильтровывать строки, не относящиеся к конкретной контрольной дате пользователя, и пытаться "освободить" ненужные, поскольку бин является областью действия приложения.

Сначала мы думали, что можем подсчитать пользователей, просматривающих конкретную дату ссылки, но это будет похоже на подсчет ссылок, сбор мусора, беспорядок, в который я не хочу погружаться, поэтому я спрашиваю вас, как бы вы это сделали?

Кстати, мы подумали, что так должно работать, потому что читаем этот урок.

1 ответ

Общие данные в bean-объектах bean-объекта не могут быть изменены для каждого пользователя. Используйте сессионные компоненты.

Другие вопросы по тегам