Primefaces推

时间:2015-06-05 07:46:29

标签: jsf-2 primefaces

我想在我的网络应用程序中使用'primefaces push'来接收通知。

我希望用户可以根据他所属的群组接收通知。每个用户都可以属于多个组,例如:

  • 用户X属于A组和B组。
  • 用户Y参加A,C和D组。
  • 用户Z属于B组和C。

当用户登录Web应用程序时,该用户应订阅这些通知组。

我的问题是我必须为用户创建多少'套接字'。

<p:socket onMessage="handleMessage" channel="/groupX"  />

例如,如果用户属于两个组,我应该在JSF页面中动态创建两个套接字吗?我可以创建一个套接字并使用它来接收来自不同组的通知吗?

由于

1 个答案:

答案 0 :(得分:1)

假设它们不是彼此的子集,则不能使用一个通用套接字(一个通道)。根据登录用户的数量和/或组的数量和/或用户所属的组的数量,我可以看到另一种可能的解决方案(除了为您已经提到的每个组创建套接字)< / p>

为每个用户创建一个特定于用户的频道,并在服务器上维护一个HashMap,其中包含组名和属于该组的登录用户列表。当需要将消息发送到一个组时,迭代列表并将其发送给每个单独的用户