在使用推送通知时,哪种策略更适合在性能和效率方面使用?

时间:2014-11-23 06:46:08

标签: java jsf primefaces push-notification

现在我已经在primefaces中发现了推送技术,我想知道这两种方法中的哪一种在性能方面更好用。

我正在使用spring和primefaces在java中创建一个仪表板。

现在我有一个所有小程序的频道,我正在向所有页面播放一条消息和一个uuid,每个页面负责检查给定的uuid是否与之关联。如果答案是肯定的,页面将执行所需的操作,例如显示消息或仅刷新自己。

例如在万能的java中:

pushContext.push("/refresh-chan", getUuid().toString());

并在XHTML方面:

<p:socket  onMessage="handleMessage" channel="/refresh-chan" />

<script type="text/javascript">
    function handleMessage(uuid) {
        var myUuid = '#{myBean.id}';
        //console.log(myUuid + "-"+uuid);
        if(uuid==myUuid)
        {
            //console.log("- I am refreshing myself : my id="+uuid);
            location.reload();
        }
    }
</script>

但还有另一种方法可以解决这个问题,我可以为每个小面板创建一个单独的通道,并单独推送该小面板的上下文:

注意:代码是虚构的,可能无效:

pushContext.push("/refresh-chan"+getUuid().toString(),"may leave empty");

并在XHTML页面中(Yup!仍然想象):

<p:socket  onMessage="handleMessage" channel="/refresh-chan"+#{myBean.id} />

<script type="text/javascript">
    function handleMessage(dummy) {
            location.reload();
    }
</script>

除了性能和效率之外,请考虑代码是我正在构建的框架的一部分,其他开发人员必须编写自己的XHTML页面,然后在其页面中添加代码的XHTML部分(如上所示)因此,他们应该很容易理解正在发生的事情。

谢谢

0 个答案:

没有答案