"終了"が呼び出されたときにJobExecutionDeciderの終了コードに関する問題があります。私はシェルスクリプトの中でCommandLineJobRunnerを使用しています。ここで$を介して終了コードを取得しますか?呼び出されたプログラムの終了状態を示します。問題は、JobExecutionDeciderが "end on"が呼び出されるたびに、終了ステータスは常に1(失敗)に設定されます。これは、通常の「ステップ」で「終了」が呼び出された場合ではありません。そのような場合、終了コードは適切に設定されます(つまり0)。私は手作業で終了コードを "COMPLETED"に設定しようとしましたが、以下のように同じ結果が出ました。成功した終了コードでJobExecutionDeciderを終了する方法
この決定は実際には「前段階」であり、ジョブによって最初に実行されることに注意してください。処理を終了すると判定された場合には、実際の「ステップ」は実行されない。春-config設定から
:
< job id="jobOne" />
< decision id="myDecision" decider="myDecider">
< end on="ABORT" exit-code="COMPLETED"/>
< next on="CONTINUE" to="nextStep" />
< /decision>
< step id="stepOne" />
< tasklet ref="myTasklet">
...
決定者から:私は十分な情報を提供してきました
public FlowExecutionStatus decide(JobExecution jobEx, StepExecution arg1) {
if (abortExecution())
return new FlowExecutionStatus("ABORT");
return new FlowExecutionStatus("CONTINUE");
}
希望。どんな助けもありがとう。ありがとう。
ありがとうございます。はい、コマンドラインのデバッグをオンにした後、exitCodeがNOOPに設定されていました。私はまだそれがNOOPに設定されていて、完了していない理由を理解していません。いずれにしても、customExitCodeマッパーを追加するのが正しい考えでした。ありがとう! – tmalvey