我目前正在使用Spring MVC编写论坛Web应用程序。我只是Spring的初学者,现在已经使用了大约1个星期。



在向用户A发送通知时,我需要用户B异步对其发表评论的通知。我进行了一些研究,发现可以使用一个名为CometD的程序包,但是找不到任何简单的教程供我理解。

有人可以建议其他任何方案/方式来解决我的问题吗?或者,如果您有任何简单的CometD教程,那也很好。

最佳答案

我是CometD项目的负责人。

CometD附带了一个演示 war 文件,该文件具有内置的聊天应用程序,您可以以此为基础来了解CometD的工作原理,请参阅https://docs.cometd.org/current/reference/#_installation

CometD的完整引用文档在这里:https://docs.cometd.org

根据经验,我不建议使用Servlet 3.0异步功能来实现聊天,因为这会排除WebSocket的使用。

最好是依靠CometD之类的框架,这些框架可以从WebSocket开始(因为它效率更高),然后在WebSocket不起作用时自动透明地回退到HTTP。

与此类似,我不推荐仅使用WebSocket的方法,因为WebSocket在某些情况下不起作用(例如,移动网络通常不允许WebSocket流量),并且它的协议(protocol)级别太低,因此您必须构建您在WebSocket上自己的协议(protocol)(这是很多工作,而且不容易正确实现)。

CometD为您提供了易于扩展的协议(protocol)和自动传输回退功能,并具有大量功能(例如授权和身份验证以及仅提及两个功能的集群)。

关于java - Spring MVC WebApp中的推送通知,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20901210/

10-09 05:56