Java Spring批处理-如何从ItemListenerSupport访问ExecutionContext
我正在扩展Java Spring批处理-如何从ItemListenerSupport访问ExecutionContext,java,spring-batch,Java,Spring Batch,我正在扩展ItemListenerSupport,以捕获读/处理/写步骤中遇到的错误,如下面的代码片段 @Override public void onWriteError(Exception ex, List<? extends BaseDomainDataObject> items) { logger.error("Encountered error on write", ex); String msgBody = Exceptio
ItemListenerSupport
,以捕获读/处理/写步骤中遇到的错误,如下面的代码片段
@Override
public void onWriteError(Exception ex, List<? extends BaseDomainDataObject> items) {
logger.error("Encountered error on write", ex);
String msgBody = ExceptionUtils.getStackTrace(ex);
numProcessedMap.computeIfAbsent("numErrors", val -> items.size());
errorMap.put(numErrors.addAndGet(1), msgBody);
}
@覆盖
public void onWriteError(异常示例,List唯一的方法是创建StepExecutionListener
并将StepExecutionContext
注入到ItemListenerSupport
中的自定义StepExecution\beforeStep()
。
使用JobExecutionContext#beforeJob()
,对于JobExecutionContext
也是如此
或者。更简单地说,让您的自定义itemsListener支持
实现StepExecutionListener
或JobExecutionListener