我有一个漫长的过程(约10秒),该过程是根据用户请求在控制器中触发的(春季3.1 btw)
我正在考虑在控制器中启动FutureTask,并且ajax请求将每秒查询服务器一次以检查是否完成。
因此,我的问题是:
有人做过这样的事情吗? (以某种方式将会话值与FutureTask的返回值同步)?如果是这样,我很乐意见识。
您对如何实现此功能有一些很酷的想法(控制器中的http请求用于检查未来任务的状态)?
最佳答案
这类要求的新热点是“ Comet”,又名Ajax Push,Long-Polling等。基本上,不是让客户端锤打服务器,而是问“您完成了吗?完成了吗?完成了吗?”然而?”您只需将套接字在服务器中的保留队列中保持打开状态,并在完成后向其发送数据即可。
我不知道有任何直接与Spring集成的实现,但是有一个名为Atmosphere的库可以与Spring一起出色地工作。它还有一个jQuery插件,可避免您在客户端重新发明轮子。与其做我自己的布道尝试,不如让我留下creator's blog。