ボタンをクリックすると、サービスを呼び出してデータベースを照会し、csvファイルを生成してユーザーに返信します。このプロセスは長時間実行されています(最大40秒かかることがあります)。ユーザーをブロックしないようにします。私は、ユーザーがレポート生成の進行状況をタックすることができます進行状況]ページを作成するためにリクます:spring mvcでのファイルプロセスの更新の生成
私の考えは次のとおりです。
は、ユーザからの入力を取り、サービスにますCreateReport要求を提出します。 応答を待たずに、レポートIDをユーザーに返します。 新しいタブが開き、ユーザーはレポート生成のステータスを監視できます ユーザーはレポートページを確認してリクエストのステータスを確認できます リクエストが準備完了すると、レポートのダウンロードがブラウザで開始されます。
私はこのようななめらか持っているしたいと思います:
。ファイルを保存し、ファイルIDを返すコントローラメソッド。 その後、このコントローラで、新しいスレッドはServiceを呼び出し、指定されたファイルにデータを書き込みます b。リクエストパラメータを使用して、レポートのステータスを表示コントローラメソッド - 生成されたファイルか 場合、ファイルが生成されている場合は チェックをFILEID - HttpServletResponseの応答にファイルを書き込む
質問です:私は、ファイルIDを格納し、どのようにファイルIDを接続する必要があります ファイル自体? (キャッシュデータベース)
レポートステータスを確認するにはどうすればよいですか?私は1秒ごとにAJAXリクエストを送信すると思いますか?
アイデアや推奨事項はありますか?