0

以下を達成したいのですが、それに取り組む適切な方法が見つかりません。My webapp、ある時点で、ユーザーは a を押してリモートで aを実行できるようにbuttonなります(実際には : を実行します)。私が望むのは、のコンソール出力でページを自動更新することです. コマンド出力全体が利用可能になるまで、つまりコマンドが終了するまでユーザーを待たせたくありませんが、徐々に出力をレンダリングします (たとえば、出力の数行を毎秒レンダリングするなど)。私は使用していますが、誰かがそれなしで解決策を提案しなければならない場合は問題ありません。executecommandmaven buildmvn clean packagejspmvn commandbuildSpring/Spring MVC

私の最初の方法は、別threadのコマンドラインで生成し、ユーザーをコマンドを実行してjobいるユーザーと関連付けることでしたが、実際には、この時点からどのように進めるのが最善か、またはこれが適切な解決策であるかどうかはわかりません.sessionidthreadid

誰かが似たようなことをしましたか?そのような機能を実現する方法はありstandardますか?

ありがとう

4

1 に答える 1

0

私はこのようなものを設計します。

Upon Click
    Generate ID
    Start Thread for executing the Task

Thread
    Create an entry for this ID in a global Map
    Start Process
    Watch OutputStream from the Process forked for executing the build
    Buffer to accumulate X lines
    Re-Set the X lines of String as Value for that ID in Map

Auto-Refresh with ID from your Page
    Check for the String and Update Page

おそらく、簡単に管理できるように、ジョブが進行中か、失敗したか、完了したかなどの詳細をマップに表示することもできます。

于 2013-02-11T10:03:25.407 に答える