申请背景 我正在使用异步项处理器并将委托作为复合处理器传递。当我在处理器中遇到异常时,我的写错误监听器被调用。
onWriteError方法签名是(异常异常,列表项)
问题: 列表中onWriteError方法的所有项都是Future任务。如果我打电话给#34;得到"对于将来任务的方法,它给出了导致写入错误的相同异常。
如何在异步执行期间获取编写器侦听器方法中的原始项?
我无法提供任何实际代码,因为我的公司政策禁止我在在线论坛上发布代码。
答案 0 :(得分:0)
你不能。这就像回到过去一样。这是AsyncItemProcessor/AsyncItemWriter
组合的缺点之一。正如javadoc在AsyncItemProcessor
中指出的那样:
因为Future通常在ItemWriter中解包,所以有 生命周期和统计数据限制(因为框架不知道什么 处理器的结果是)。事情并非详尽无遗 像StepExecution.filterCount一样不会反映过滤的次数 items和ItemProcessListener.onProcessError(Object,Exception)将会 不被称为。