2011-09-19 41 views
0

我有一个Java Web应用程序,它通过struts动作执行长时间运行的任务。我想显示任务的进度条,并想通过AJAX更新进度条,AJAX调用某个动作来获取正在运行的线程的当前进度。Java Web App FutureTask进度条

完成此操作的最佳做​​法是什么?如果动作A执行FutureTask线程,如何从另一个动作访问此FutureTask对象以获取其当前进度?这甚至是可能的还是有更好的方法来解决这个问题?

任何帮助将不胜感激。

谢谢!

回答

1

将FutureTask或Callable放在会话中,然后在其他操作中将其拉出以检查进度。

+0

这些是我最初的想法。我正在考虑更进一步并将对象存储在服务器端缓存中。这样,用户可以注销并在以后重新登录以检查相同正在运行的任务的进度。 – Roosh

+0

听起来不错,只要确保你存储的是可序列化的。 – sourcedelica