java - 具有持久队列的服务器推送Java框架?

标签 java spring websocket activemq atmosphere

给定以下用例,在Java Web应用程序中:
浏览器建立与服务器的连接;请求长时间运行的操作;用户关闭浏览器;服务器发出事件通知操作完成;用户再次打开浏览器;关闭浏览器后,用户应收到服务器发送的消息。

您会推荐什么框架,以帮助我实现上述用例,最好是在集群中?

我一直在玩《大气》,《彗星》和春季短信。它们非常接近,但是当浏览器关闭时,它们似乎并没有实现持久队列以保证消息的传递。

谢谢

最佳答案

要劫持上面的评论。

队列(例如与JMS兼容的队列)不是数据库。它们不是数据存储,甚至不是持久队列。它们是路由器,持久性更是一种可靠性选择。

例如,数据库可以处理几乎无限的过时消息,永远不会被永远不会再次登录的用户丢弃。队列中有许多空闲消息会带来实际问题。

因此,您的解决方案是将消息填充到数据库中,然后在用户连接时将其耗尽。

关于java - 具有持久队列的服务器推送Java框架?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31740798/

相关文章:

php - 如何使用 ZeroMQ 和 ClankBundle 实现 "Push to an Existing Site"?

django - Web Sockets 在 Heroku 上的 Django 应用程序中不起作用

ssl - 阻止 Tomcat 发送 header "Connection: close"

java - 重复相同的测试用例作为我的测试的一部分

java - 当我从 Java 打开 CMD 时,无法更改目录

java - 在 Jenkins 1.620 SonarQube 5.1.1 中运行 Sonar 分析时 SVN 身份验证失败

java - Slf4j 记录器的模式

jquery - 我应该如何使用 javascript 访问 Spring MVC Rest 服务?

java - 如何利用 Spring 3 的 SSO 安全性?

java - 根据枚举参数选择 Spring bean