我在一个项目中工作,我有一个仪表板页面。我的要求是将一些消息推送到所有客户端(没有任何客户端请求,基于服务器本身发生的某些事件)当前与服务器连接并且在其系统中打开仪表板页面。使用Spring 3.2.x和hibernate 3。我将如何实现以及超过Spring的要求?
注意:我无法进行投票,因为事件可以在任何毫秒发生。
答案 0 :(得分:0)
如果您在Spring 3并且不想/不想使用WebSockets(这是将数据快速推送到客户端的最佳方式),我建议长轮询。< / p>
Long-Polling与轮询类似,但不同之处在于,在第一次轮询调用中,HTTP请求不会立即完成。
这意味着当客户端连接到您的信息中心时,连接将保持打开状态,直到有报告事件。在事件发生时,会立即报告,这意味着您避免传统投票的延迟。
在Spring中可以非常轻松地实现长轮询,只需使用内置类DeferredResult
。
您可以从Spring页面看到本教程,该页面非常完整。 Adding Long-Polling to an existing Web Application
此解决方案与Spring 3.2兼容。