Spring MVC应用程序中用户之间的消息传递



我使用SpringMVC制作web应用程序,用户可以相互发送消息。我如何实现这样的功能:当用户在他的消息页面上,并且他从其他人那里收到消息时,该消息会添加到他的消息列表中,而不会刷新页面。一些推送通知,但我无法想出正确的想法,如何实现它。

在这方面需要考虑两个方面;"消息传递"框架和客户端通知。

通常,"消息传递"框架将被设计/构建为独立于视图层(Spring MVC部分),并且可能由可靠的消息传递平台(JMS、AMQP等)或允许将事件推送到框架中的一些服务组成。这允许用户独立地"连接"到JVM实例(比如集群Tomcat环境或类似环境)。

对此,一个更简单的老派解决方案是使用共享数据库,并将消息写入/读取到具有用户标识符的共享表中;类似from=userA,to=userB,message=。。。您可以使用轮询机制来检索消息。

在客户端,有许多模式,包括长轮询、ajax、websockets等,旨在解决这个设计问题。为了与轮询解决方案相结合,AJAX定时轮询器(与事件相结合)将允许您通过向服务请求"我(userB)有任何新消息吗?"来不断更新页面的一部分

民意调查的解决方案是"老派"的,还有更多的选择。深入研究websocket等主题,这些主题是在考虑到这一挑战的情况下开发的。(还可以看看Tomcat8的websocket支持)

相关内容

  • 没有找到相关文章

最新更新