回滚后项目成功,但在处理器中报告为跳过

时间:2014-06-12 08:19:24

标签: spring-batch

我有一个处理器,其中执行了这样的代码块:

if (!file.exists()) {
            logger.warn("Unknown file " + item.getId());
            SkipReport report = new SkipReport(item.getId(), "Document Skipped");

            List<SkipReport> reports = new ArrayList<SkipReport>();
            reports.add(report);
            try {
                //reporting error in csv file
                reportWriter.write(reports);
            } catch (Exception e) {
                logger.error(e.getMessage());
            }
            throw new MyException();
}

这些类型的文件存储在nfs中,因此在非常罕见的情况下(据我所知)无法读取,但通常在回滚后它们会成功。问题是项目第一次抛出此异常时,会报告错误(reportWriter.write()),该错误无效。

有没有办法正确报告此问题? (可能在回滚后在监听器中写入报告)。

0 个答案:

没有答案