以下の設定をプロジェクト内でジョブ定義に使用します。Spring Batch SkipPolicyが使用されていません
プロジェクトでは、バッチジョブはデータベースに定義されています。以下のXMLジョブ定義は、実行時にこれらのバッチジョブをすべて作成するためのテンプレートとして機能します。
これは、dataProcessorのBeanCreationExceptionの場合を除いて、正常に動作します。この例外が発生すると、スキップポリシーは呼び出されず、バッチはすぐに終了します。
その理由は何ですか? dataProcessorのすべての例外がSkipPolicyを使用するように、私は何をしなければなりませんか? 事前にどうもありがとう クリスチャン
バージョン:春-バッチ3.0.7
<batch:job id="MassenGevoJob" restartable="true">
<batch:step id="selectDataStep" parent="selectForMassenGeVoStep" next="executeProcessorStep" />
<batch:step id="executeProcessorStep"
allow-start-if-complete="true" next="decideExitStatus" >
<batch:tasklet>
<batch:chunk reader="dataReader" processor="dataProcessor"
writer="dataItemWriter" commit-interval="10"
skip-policy="batchSkipPolicy">
</batch:chunk>
<batch:listeners>
<batch:listener ref="batchItemListener" />
<batch:listener ref="batchSkipListener" />
<batch:listener ref="batchChunkListener" />
</batch:listeners>
</batch:tasklet>
</batch:step>
<batch:decision decider="failOnPendingObjectsDecider"
id="decideExitStatus">
<batch:fail on="FAILED_PENDING_OBJECTS" exit-code="FAILED_PENDING_OBJECTS" />
<batch:next on="*" to="endFlowStep" />
</batch:decision>
<batch:step id="endFlowStep">
<batch:tasklet ref="noopTasklet"></batch:tasklet>
</batch:step>
<batch:validator ref="batchParameterValidator" />
<batch:listeners>
<batch:listener ref="batchJobListener" />
</batch:listeners>
</batch:job>
ありがとうございます。 私の質問は十分正確ではありませんでした。 Beanの作成例外は、dataProcessorが無効なコンストラクタ引数applicationContext.getBean(.....)を使用してBeanをインスタンス化しようとしたとき、およびアプリケーションが正常に起動した後に発生します。この場合、私はAlwaysSkipPolicyを呼び出すことを期待していましたが、そうではありません。ステップはすぐに終了します... – CGoose