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-объекта не могут быть изменены для каждого пользователя. Используйте сессионные компоненты.