48

Spring Batchを学ぼうとしていますが、スタートアップガイドは非常に混乱しています。のようなコメント

org.springframework.batch.sampleパッケージ(src / main / java内)の単体テストとsrc / main / resources / jobsの構成を調べることで、ジョブのセットアップ方法についてかなり良いアイデアを得ることができます。

正確には役に立ちません。また、サンプルプロジェクトは非常に複雑です(109のクラスを持つ17の空でない名前空間)!SpringBatchを始めるためのより簡単な場所はありますか?

4

8 に答える 8

37

いくつかの指針:

于 2009-10-22T21:41:20.207 に答える
8

私は、ユーザーガイドが非常に混乱していることに同意します(とにかくSpring Coreユーザーガイドと比較して)。適度に複雑なバッチシナリオで遭遇するいくつかの非常に重要な落とし穴に適切に対処していません。

新しいスターターとしてドリルダウンし、要件を決定する必要がある重要なことは、

  • 例外の構成(スキップする場合、失敗する場合、再試行する場合)
  • 状態を維持するための実行コンテキストの使用(たとえば、ステップ実行コンテキストとジョブ実行コンテキストをいつ使用するか)。
  • 状態の一般的なメンテナンス(特に入力パラメーターには、ステップスコープを使用します)

しかし、それは忍耐する価値があります。バッチプログラミングは他のサーバー側のスタイルとは大きく異なり、通常のSpringの「パターン抽象化」アプローチから大きな恩恵を受けます。

于 2009-12-11T15:37:09.833 に答える
5

Spring Batchワゴンに飛び乗る前に、SO自身のcletusがその欠点について何と言っているかを読みたいと思うかもしれません。

http://www.cforcoding.com/2009/07/spring-batch-or-how-not-to-design-api.html

私は最近SpringBatchを評価しましたが、肥大化とオーバーヘッド以外にプロジェクトに何も追加されていないことに気づいたら、すぐに拒否しました。Spring Batchは最終的にはOK製品になる可能性がありますが(今回はEJBが正しく機能したように)、現時点では問題を探すための解決策のように見えます。

于 2009-10-26T18:25:34.237 に答える
5

私は最近、SpringBatchを実際に試してみました。私の実装では、メモリ内リポジトリを使用したと言いますが(プロジェクトの状況では再起動と再試行が優先されなかったため)、RichardがJobRepositoryについて言っていることを理解できます。基本的に、見つけるには深く掘り下げる必要があります。データベーススキーマ。

Spring Batch 2.1の場合、データベース固有の実装を処理する方法についての説明を含む、リポジトリに関するいくつかのドキュメント( http://static.springsource.org/spring-batch/reference/html/metaDataSchema.html )を提供します。テーブルを作成するためのDDLは、コアのSpringBatchJARファイルにあります。

spring-batch-core-2.1.0.RELEASE.jar:/org/springframework/batch/core/*.sql

スクリプトは、DB2、Derby、H2、HSQLDB、MySQL、Oracle 10g、PostgreSQL、MS SQL、およびSybase用に存在します。

于 2010-05-07T20:35:11.207 に答える
5

このチュートリアルでは、単純なSpring Batchアプリケーションを作成して、コンマ区切りおよび固定長のレコードのリストをインポートすることを主な目的とする一連のジョブを処理する方法を示します。さらに、Spring MVCを使用してWebインターフェースを追加し、ジョブを手動でトリガーする方法を教え、インポートされたレコードを視覚的に検査できるようにします。データレイヤーでは、JPA、Hibernate、およびMySQLを使用します。

  1. http://krams915.blogspot.jp/2012/02/spring-batch-tutorial-part-1.html
  2. http://krams915.blogspot.jp/2012/02/spring-batch-tutorial-part-2.html
  3. http://krams915.blogspot.jp/2012/02/spring-batch-tutorial-part-3.html
  4. http://krams915.blogspot.jp/2012/02/spring-batch-tutorial-part-4.html
于 2012-12-12T06:29:58.817 に答える
3

https://github.com/langmi/spring-batch-examples

これには、かなり良い基本的な例が含まれています。

于 2011-08-23T12:27:30.110 に答える
1

社内のバッチフレームワークに代わる可能性のあるものとして、SpringBatchを検討し始めたところです。実際には、ジョブをスケジュールする機能と、実行中/以前に実行されたジョブインスタンスの概要を提供するJMXインターフェースを備えたバッチサーバーを作成するのに、1日もかかりませんでした。ただし、Caoilteのように、ドキュメントに問題があります。主なものであり、ドキュメントやjavadocsにないものは、JobRepositoryに必要なテーブルです。デフォルトでは、データベース永続性JobRepositoryがあります。これは、新しいサーバーの要件の1つですが、必要なテーブルについての言及が見つかりません。私はそれらについての言及をグーグルで上下に検索しなければなりませんでした(それらがドキュメントにあるなら、私は喜んで私の謙虚なパイに塩を入れます)。

利用可能な構成オプションの膨大な配列を考えると、SpringBatch内で実行するバッチを実際に作成することはかなり複雑な作業だと思います。これが私の目の強みです。これは、xmlで複雑なバッチタスクを構成する機会を提供します。これは、他のバッチフレームワーク(私が知っている)ではまだ見つけていません。しかし、Spring Batchの機能を実際に利用したくない場合は、1つのタスクレットステップでジョブを作成してみませんか(ただし、オーバーヘッドの価値があるかどうかを自問する必要があります)。

于 2010-02-24T13:35:34.520 に答える
1

残念ながら、皆さんはそれを放棄しました。フレームワークは実際には本当に素晴らしいです。ただし、他の誰かがクイックスタートを必要とする場合は、SpringBatchクイックスタートを試してください

/アナトリー

于 2010-04-08T02:17:47.167 に答える