在 customReaderItem 中管理 I/O 和 POI 异常

时间:2020-12-23 20:18:17

标签: spring apache-poi spring-batch

我正在使用实现 EventLoopcustomReader。我的读者从 xls 获取信息并逐行处理。我的构造函数采用将在每次 ItemReader 迭代时读取的 Iterator 值。我正在尝试找到一种合适的方法来管理异常。我查看了 read()SkipListener ReaderListener。但我不能使用,因为在尝试 onReadError 方法之前,我的异常将在构造函数中抛出。

有什么办法可以让我分别对异常进行正确的操作1/2/3吗?

read()

1 个答案:

答案 0 :(得分:1)

这其实就是读者的初始化代码。阅读部分无非是在迭代器上调用 .next

所以我会让读取器实现 ItemStreamReader 并将初始化代码放在 open 方法中,您可以在其中抛出异常以向 Spring Batch 发出读取器初始化失败的信号。