【问题标题】:Constant data polling for web view from database来自数据库的 Web 视图的持续数据轮询
【发布时间】:2013-09-13 00:16:59
【问题描述】:

我们正在开发一个解决方案,该解决方案必须有一个带有一些基本视图/图表的仪表板,只要这些视图/图表处于活动状态,应该每 10 秒左右更新一次,并且每个用户可能有相同的图表,但显示过滤信息。
为了实现这一点,我开始研究推送技术,并开始使用 JSF + PrimeFaces + PrimePush 进行一些测试。 它完成了刷新视图的工作,但是在后端,我必须使用计划的作业和会话管理来建立一个非常可靠的结构,以确保以预期的速度从数据库中获取信息。此外,由于 PrimePush 与 Atmosphere 合作,渠道概念可能存在问题,因为每个用户都需要不同的渠道来“数据馈送”。

我想在这里表达的观点是,就这种方法的适用性以及是否有任何已知的替代方案(请与 Java 相关的方案)可能更适合仪表板场景获得意见。

非常感谢您抽出宝贵时间,如果有人需要更多信息,我非常乐意提供。

【问题讨论】:

  • 因为懒惰,我只想对 servlet 进行 jquery setInterval 和 ajax 调用
  • 这将使一堆请求可能使网络饱和,有时甚至一无所获,因为数据可能没有变化。还有其他想法吗?非常感谢您的回复!

标签: java ajax jsf web


【解决方案1】:

频率不是很高:10s是相当长的轮询间隔。

在这种情况下,使用 AJAX 从浏览器轮询就可以了。 至于后端,servlet 可以查询数据库以获取最后的更改。

这是一个简单的设置,但应该足够好了。

如果您遇到性能问题,可以考虑将异步 servlet 与 JMS 队列一起使用。如果延迟应该更小(例如 500 毫秒),这将是合适的。

【讨论】:

    猜你喜欢
    • 2023-03-26
    • 2021-08-20
    • 1970-01-01
    • 1970-01-01
    • 2013-10-12
    • 1970-01-01
    • 2012-09-13
    • 1970-01-01
    相关资源
    最近更新 更多