0

私は春のバッチをインプレースで取得し、再試行ロジックを構成したいのですが、次の構成を取得しました:

<step id="roundUpMonthlyJobFetchUsers">
            <tasklet>
                <chunk reader="roundUpMonthlyItemReader" processor="roundUpMonthlyItemProcessor"
                       writer="roundUpMonthlyItemWriter" commit-interval="1" retry-limit="3" >
                    <retryable-exception-classes>
                        <include class="java.io.IOException" />
                    </retryable-exception-classes>
               </chunk>
            </tasklet>
         <end on="COMPLETED"/>
    <fail on="FAILED"/>
</step>

IOException が発生したときに、これが実際に少なくとも 3 回操作を実行しようとしていることをどのように確認できますか?

4

1 に答える 1

0

このクラスを変更roundUpMonthlyItemReader

エントリで何かをログに記録し、毎回 IOException をスローするには、ログを確認してください:)

log.info("Reading Monthly round up");
throw new IOException("Dummy IOException");

単体テストでこれを行いたい場合は、Mockito を使用できるはずです。

  • リーダーまたはライターをモックして IOException をスローする
  • 3回呼び出されることを確認してください
于 2013-03-14T11:25:00.923 に答える