【问题标题】:FutureTask and HttpSession syncFutureTask 和 HttpSession 同步
【发布时间】:2012-02-12 16:17:56
【问题描述】:

我有一个很长的过程(约 10 秒),它是根据我的控制器中的用户请求触发的(spring 3.1 btw)

我正在考虑在控制器中启动一个 FutureTask,并且一个 ajax 请求将每秒查询一次服务器以检查是否完成。

所以,我的问题是:

  1. 有没有人做过这样的事情? (以某种方式将会话值与 FutureTask 的返回值同步)?如果是这样的话,我会喜欢这种洞察力。
  2. 您对如何实现此功能(控制器中检查未来任务状态的 http 请求)有什么好主意吗?

【问题讨论】:

    标签: java multithreading http session


    【解决方案1】:

    这种需求的新旧热点是“Comet”,也就是 Ajax Push、Long-Polling 等。基本上不是让客户在您的服务器上敲击问“你完成了吗?你完成了吗?你做完了吗?”您只需在服务器的等待队列中保持套接字打开,并在完成后向它们发送数据。

    我不知道有任何直接与 Spring 集成的实现,但是有一个名为 Atmosphere 的库可以与 Spring 一起出色地工作。它还有一个 jQuery 插件,可以让您免于在客户端重新发明轮子。与其在传福音上做我自己微弱的尝试,我只会把creator's blog留给你。

    【讨论】:

    • 我认识彗星很久了。 Atmosphere 很酷,但我实际上正在寻找不包含 servlet 3.0 的解决方案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-09
    • 1970-01-01
    • 2013-08-20
    • 1970-01-01
    • 1970-01-01
    • 2012-01-31
    相关资源
    最近更新 更多