java - Java 中的 Ajax 长轮询,Spring MVC - session 范围问题

标签 java ajax spring-mvc long-polling session-scope

我正在尝试在使用 Spring MVC 的项目中实现一种自动更新网格的长轮询机制。

我从客户端发送 Ajax 请求,在服务器端我进入一个 while 循环,直到找到数据,然后将数据作为响应发回。

当用户在应用程序中更改选项卡时,我需要另一种机制来停止此操作(中断循环)(每个选项卡都有一个不同的网格,通过长轮询自动更新。每个选项卡都由服务器处理-旁边有一个不同的 Controller )。

我的想法是,我需要有一个 session 范围的变量或 bean,它会在客户端更改选项卡时更改,并且可以从循环内部访问,以便它可以在更改时中断。当我尝试使用 Spring MVC beans 范围时,我注意到我在两个不同 session (即 HttpSession)中共有的 bean 属性。我通过使用同一台机器上的不同用户登录来对此进行测试。

我尝试使用 ,但结果相同。

关于如何使这项工作有任何想法吗?

提前谢谢你。

最佳答案

在 Spring MVC 3.2(目前是一个里程碑版本)中引入了长轮询和其他异步进程。它可能值得一看,而不是尝试实现您自己的解决方案。

http://blog.springsource.org/2012/05/13/spring-mvc-3-2-preview-adding-long-polling-to-an-existing-web-application/

关于java - Java 中的 Ajax 长轮询,Spring MVC - session 范围问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7992153/

相关文章:

javascript - 如何使用Jquery将div内容导出到Excel?

java - Spring 正常关闭 - 请求方法不支持

java - 这些通用声明之间有什么区别?

java - 创建实体规则

java - 如何为泛型 SortedLinkedList 创建泛型类型 T 数组?

javascript - 有没有办法在 React 组件中运行 AJAX 脚本?

javascript - 如何在单击 Hyperlink1 打开的同一窗口中打开超链接 (2)

java - 如何使我的 URL 仅为 "localhost:8080/*"?

java - Spring Boot 导入信任库

java - 为什么 listFiles() 不能保证顺序?