【问题标题】:How to update page for all users如何为所有用户更新页面
【发布时间】:2014-03-15 16:40:29
【问题描述】:

例如,我有带有 cmets 的页面。每次有人添加评论时,我都希望为所有观看该页面的用户更新页面。 我可以做到,每隔几分钟使用 ajax 更新。但是有一种更聪明的方法,可能是一些 java EE 服务用于此目的?

【问题讨论】:

  • 为什么你觉得通过 Ajax 发送更新有点不明智?当然,您可以在解决方案中混合一定剂量的 JMS(根据您的描述进行最佳猜测,使用主题),然后使用一些将数据传输到客户端的 Web 服务。
  • @fvu:服务器无法使用 Ajax 向浏览器发送任何内容。浏览器必须要求更新。
  • @Vovan:你可以使用 websockets,但并不是每个浏览器都支持它们,而且当前的 Java 支持很差。 Spring 4 使用 stomp 提供了不错的支持,如果不支持 websockets,它可以降级为 AJAX 长轮询。但也许您只需要使用 AJAX 定期刷新,这会消耗更多带宽和资源,但可以在任何地方工作。
  • @Vovan 一些可以帮助您制定解决方案的 JMS 相关主题是已经提到的主题、消息生命周期和持久订阅。 ActiveMQ 有 a number of features 在您描述的场景中很有帮助。
  • 您可以使用PrimeFaces Push,并将您想要在用户之间共享的公共评论放入ApplicationScoped ManagedBean。然后使用 PrimeFaces Push 及时获取该评论的价值

标签: java jsf jakarta-ee


【解决方案1】:

查看服务器推送和 Websocket 示例,它们是要搜索的术语。

【讨论】:

  • 我找到了一些框架,叫做Atmosphere。 PrimeFaces 和 RichFaces 已经在使用它。
  • 那么这就是你要走的路。
猜你喜欢
  • 2013-06-23
  • 1970-01-01
  • 1970-01-01
  • 2013-01-16
  • 1970-01-01
  • 2014-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多