0

目前我正在使用主推向客户端的 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 并将其添加到数据表中。

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

4

0 回答 0