推动大量客户端更新

时间:2016-02-10 10:03:01

标签: jsf-2 primefaces atmosphere primepush

目前我使用prime push将刷新命令发送到客户端的jsf页面,然后jsf页面将重新加载并呈现更改。看起来像这样:

服务器:

EventBus eventBus = EventBusFactory.getDefault().eventBus();
eventBus.publish("/event/" + eventId, "updateEntries");

客户端:

<p:socket channel="/event/#{detailController.id}" onMessage="handlePush"/> 
<script type="text/javascript">
    function handlePush(msg) {
        switch (msg) {
            case "updateEntries":
                updateEntries();
                break;
        }
    }
</script>

<h:form>
    <p:remoteCommand name="updateEntries" actionListener="#{detailController.reloadEntries()}" update="entries" />
</h:form>

然而,这种方法效果很好,但我认为如果我有更多客户端,这将成为性能问题,因为每个客户端都会同时请求孔数据。

我的想法是对已更改/添加的实体进行编码,并通过推送将json传输到客户端并解码json并将其添加到数据表中。

有没有其他方法可以处理大量需要即时更新的客户?

0 个答案:

没有答案