2016-10-14 47 views
7

私はSpring Batchで非常に新しいです。誰も春のバッチでステップ、タスクレットとチャンクの違いを説明するために私を助けることができます。また、私たちがいくつかのステップを並行して実行したいのであれば、もう一つの疑問があります。SpringバッチのStep、Tasklet、Chunkの違い

+2

可能重複//stackoverflow.com/questions/17143575/deciding-between-spring-batch-step-tasklet-or-chunks) –

+0

SBのドキュメントを読んでください。あなたが求めていることは非常によく説明されています –

答えて

14

これは実際には良い質問です。設定の例を次に示します。

<job id="sampleJob" job-repository="jobRepository"> 
    <step id="step1" next="step2"> 
     <tasklet transaction-manager="transactionManager"> 
      <chunk reader="itemReader" writer="itemWriter" commit-interval="10"/> 
     </tasklet> 
    </step> 
    <step id="step2"> 
     <tasklet ref="myTasklet"/> 
    </step> 
</job> 

あなたはジョブがあります。このジョブはステップで構成されています。ほとんどの場合、これらの手順は連続しています。あなたの作業はステップで実行する必要があります:ステップ1、ステップ2、ステップ3、ステップ3が失敗した場合はステップ4、ステップ5などに直接進みます。

タスクレットで表されるステップで行われ、タスクを実行します。

春のバッチでは、主にチャンク指向の処理を行います。リーダー、プロセッサ、ライターです。公式ドキュメントから:

チャンク指向の処理トランザクション内で、一度にデータ1を読ん と書き出されます「チャンク」を作成することを指し 境界

しかし、あなたがすることができます自分のタスクレットを作って、あなたのステップでそれを設定してください。たとえば、SQLクエリーを実行するタスクレットです。 (例:Tasklet to delete a table in spring batch

したがって、ステップはジョブで順序付けされ、各ステップにはタスクを行うタスクレットが含まれています。これらのタスクレット(およびおそらく最も使用されるもの)の1つは、チャンク指向の処理タスクレットです。

好奇心が強い場合は、ChunkOrientedTasklet's docです。ご覧のとおり、Taskletインターフェイスを実装しています。詳細について

http://docs.spring.io/spring-batch/reference/html/configureStep.html

はい、スプリングバッチを十分フローを用いて、parrallel処理のために構成されている:【春バッチ・ステップ、タスクレットまたはチャンクとの間の決定](HTTPのhttp://docs.spring.io/spring-batch/reference/html/scalability.html

+0

この回答はStep、Tasklet、Chunkの基本的なことを理解するのに非常に役立ちます。ありがとうございました :) –

関連する問題