我有一个处理器,其中执行了这样的代码块:
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()
),该错误无效。
有没有办法正确报告此问题? (可能在回滚后在监听器中写入报告)。