2016-04-17 23 views
0

4つの異なるWebサービスからデータを読み込み、処理して結果をデータベーステーブルに格納する状況があります。また、このタスクが完了した後に通知を送信します。このプロセスのトリガは、Webサービスコールによるものです。 私はバストバッチジョブとして自分の仕事を書くべきですか、レストコントローラから呼び出される非同期メソッド(@Asyncを使用)として読み取り/プロセスコード全体を書き込むべきですか?サービスの大規模な量がある場合SpringバッチまたはSpringブート非同期メソッドの実行?

親切spring-batchが選択でしょう、実行されなければならない

+0

4サービスがスケジュールされたジョブとして起動されている場合は、バネバッチが必要です。あなたのアプリケーションのユーザによって4つのサービスコールがトリガされた場合は、レストコントローラを使用する必要があります。 – ArunM

+0

答えはあなたのユースケースに応じて明らかです – ArunM

答えて

1

Springバッチは大量のデータ処理用に設計されており、通常はバッチを作成してからスケジュールに従ってバッチを起動するので、必要に応じて処理するとは考えられないため、選択は@Asyncでなければなりません。この種のアーキテクチャの利点は、失敗した場合などに再起動する作業の信頼性にあります。あなたのケースでは、データ統合の問題があり、私はSpring Integrationで見ることをお勧めします。あなたは休憩の呼び出しを開始するSpring統合パイプラインを持つことができます。

0

を示唆しています。それ以外の場合は、spring-batchをインポートする必要はありません。

私の意見では、@Async注釈は簡単です。

両方の方法がうまくいく場合は、もちろん簡単です。

serviceだけでなく、spring-batchがより良い解決策になるでしょう。原因はspring-batchです。

関連する問題