SpringBatch-概要

Batch processingは、ユーザーの操作なしで一連の自動化された複雑なジョブの実行を伴う処理モードです。バッチプロセスはバルクデータを処理し、長時間実行されます。

いくつかのエンタープライズアプリケーションは、以下を含む操作を実行するために巨大なデータを処理する必要があります。

  • 周期計算などの時間ベースのイベント。

  • 大規模なデータセットで繰り返し処理される定期的なアプリケーション。

  • トランザクション方式で利用可能なデータの処理と検証を処理するアプリケーション。

したがって、バッチ処理は、そのようなトランザクションを実行するためにエンタープライズアプリケーションで使用されます。

SpringBatchとは

春のバッチは lightweight framework 開発に使用されます Batch Applications エンタープライズアプリケーションで使用されます。

一括処理に加えて、このフレームワークは次の機能を提供します。

  • ロギングとトレースを含む
  • トランザクション管理
  • ジョブ処理統計
  • ジョブの再開
  • スキップとリソース管理

分割手法を使用して、SpringBatchアプリケーションをスケーリングすることもできます。

SpringBatchの特徴

以下は、SpringBatchの注目すべき機能です-

  • Flexibility− SpringBatchアプリケーションは柔軟性があります。XMLファイルを変更するだけで、アプリケーションの処理順序を変更できます。

  • Maintainability− SpringBatchアプリケーションは保守が簡単です。Spring Batchジョブにはステップが含まれており、他のステップに影響を与えることなく、各ステップを分離、テスト、および更新できます。

  • Scalability−分割手法を使用して、SpringBatchアプリケーションをスケーリングできます。これらのテクニックにより、次のことが可能になります。

    • ジョブのステップを並行して実行します。

    • シングルスレッドを並行して実行します。

  • Reliability −障害が発生した場合は、ステップを切り離すことにより、停止した場所からジョブを再開できます。

  • Support for multiple file formats − Spring Batchは、XML、フラットファイル、CSV、MYSQL、Hibernate、JDBC、Mongo、Neo4jなどの多数のリーダーとライターのサポートを提供します。

  • Multiple ways to launch a job − Webアプリケーション、Javaプログラム、コマンドラインなどを使用してSpringBatchジョブを起動できます。

これらに加えて、SpringBatchアプリケーションは以下をサポートします-

  • 失敗後の自動再試行。

  • バッチ実行中およびバッチ処理の完了後のステータスと統計の追跡。

  • 同時ジョブを実行します。

  • ロギング、リソース管理、スキップ、処理の再開などのサービス。