私は、Spring Batchで非常に新しいです。誰も私を助けて、春のバッチのステップ、タスクレット、チャンクの違いを説明できますか?また、いくつかのステップを並行して実行する必要があるかどうか、もう1つ疑問があります。
まあそれは実際には良い質問です。設定の例を次に示します。
<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クエリを実行するタスクレット。 (ここの例: 春バッチでテーブルを削除するタスクレット )
そのため、ステップはジョブ内で順序付けられ、各ステップにはタスクを実行するタスクレットが含まれます。これらのタスクレットの1つ(おそらく最も使用されるもの)は、チャンク指向の処理タスクレットです。
好奇心が強い方は、 ChunkOrientedTasklet's doc をご覧ください。ご覧のとおり、Tasklet
インターフェイスを実装しています。
詳細: http://docs.spring.io/spring-batch/reference/html/configureStep.html
そして、はい、春バッチはフローを使用して並列処理用にうまく作られています: http://docs.spring.io/spring-batch/reference/html/scalability.html