【发布时间】:2014-03-07 15:46:40
【问题描述】:
我通过 xml 配置了一个 SkipListener,如下所示:
<batch:job id="importPersonsJob" job-repository="jobRepository">
<batch:step id="importPersonStep">
<batch:tasklet transaction-manager="transactionManager">
<batch:chunk reader="personItemReader" writer="personItemWriter"
commit-interval="5" skip-limit="10">
<batch:skippable-exception-classes>
<batch:include class="java.lang.Throwable" />
</batch:skippable-exception-classes>
</batch:chunk>
<batch:listeners>
<batch:listener ref="skipListener" />
</batch:listeners>
</batch:tasklet>
</batch:step>
<batch:listeners>
<batch:listener ref="authenticationJobListener" />
<batch:listener ref="jobListener" />
</batch:listeners>
</batch:job>
我的 SkipListener 的实现如下所示:
public class SkipListener {
@OnSkipInRead
public void log(final Throwable throwable) throws IOException {
// make something
}
@OnSkipInWrite
public void log(final Object objectToWrite, final Throwable throwable) throws IOException {
// make something
}
// some dependencies
}
我已经问过谷歌如何有效地测试这个。遗憾的是它没有那么有效。也许你可以给我一个简短的提示,告诉我如何做到这一点。
【问题讨论】:
标签: java spring unit-testing listener spring-batch