我理解ICEPush的基本功能:客户端订阅,服务器在有新数据时通知订户,然后客户端通过ajax请求有效负载。这种方法效果很好,但在某些情况下会出现性能问题。
假设我有一个跟踪多个项目更改的页面。例如,我在服务器上订阅名为“ItemChange”的ICEPush事件。每次服务器上的进程更改“Item”实体时,此“ItemChange”事件都会触发。现在假设用户正在跟踪具有ID 2和3的项目,然后在服务器上发生更改id为5的项目的事件。然后服务器将通知“ItemChange”事件,这将使客户端请求有效负载。对它没用,因为它不跟踪第5项。这种情况会导致很多不必要的服务器调用。
我一直在寻找绕过这个的方法,但我还没有找到任何东西。如果我可以发送一个参数和通知,我可以简单地传递更改的项目的ID,因此客户端将知道它是否需要请求有效负载,但似乎没有办法做这个。欢迎任何建议,谢谢。
答案 0 :(得分:0)
通常,最好的方法是使用多个PUSHID。你在ICEfaces上使用它吗?您期望每页有多少项?这些物品有自然分组吗?