2011-09-19 47 views
0

我有一個Java Web應用程序,它通過struts動作執行長時間運行的任務。我想顯示任務的進度條,並想通過AJAX更新進度條,AJAX調用某個動作來獲取正在運行的線程的當前進度。Java Web App FutureTask進度條

完成此操作的最佳做​​法是什麼?如果動作A執行FutureTask線程,如何從另一個動作訪問此FutureTask對象以獲取其當前進度?這甚至是可能的還是有更好的方法來解決這個問題?

任何幫助將不勝感激。

謝謝!

回答

1

將FutureTask或Callable放在會話中,然後在其他操作中將其拉出以檢查進度。

+0

這些是我最初的想法。我正在考慮更進一步並將對象存儲在服務器端緩存中。這樣,用戶可以註銷並在以後重新登錄以檢查相同正在運行的任務的進度。 – Roosh

+0

聽起來不錯,只要確保你存儲的是可序列化的。 – sourcedelica