我不确定我想要的是否可能,但仍然......
我想在用户之间共享数据,比如完成here。然而,与使用ApplicationScope
共享数据的示例不同,我希望数据不是在所有用户之间共享,而是仅针对用户组(类似于私人聊天室,而不是像公共空间中那样)。那个例子)。
目前我使用ViewScope
但是为了更新参与者的显示,请使用我找到的hack here,但这个解决方案不是很稳定,因为偶尔会抛出JS错误。
对我的问题有什么合理的解决方案吗?
干杯,
埃雷兹
答案 0 :(得分:2)
将它们保存在应用程序范围的bean中的Map
中,其中映射键是组标识符。
E.g。
@ManagedBean
@ApplicationScoped
public class ChatManager {
private Map<Group, Room> rooms;
// ...
}
与
@ManagedBean
@ViewScoped
public class GroupChat {
@ManagedProperty("#{chatManager.rooms[user.group]}")
private Room room;
// ...
}