在 batch_job_execution 中设置 EXIT_MESSAGE

Setting EXIT_MESSAGE in batch_job_execution

我工作中的一个步骤出现异常,因此工作失败并显示 EXIT_CODE "FAILED"。现在我也想设置 EXIT_MESSAGE,我做了以下但消息没有设置。有什么想法吗??

chunkContext.getStepContext().getStepExecution().getJobExecution().setExitStatus(ExitStatus.FAILED);  
ExitStatus es = jobExecution.getExitStatus();  
es = exitStatus.**addExitDescription**("CUSTOM EXCEPTION MESSAGE");
chunkContext.getStepContext().getStepExecution().getJobExecution().setExitStatus(es);

我也尝试了以下但没有用。
setExitStatus(new ExitStatus("FAILED","CUSTOM EXCEPTION MESSAGE"));

操纵作业(也称为作业的 ExitStatus)退出状态的方法是通过 JobExecutionLisener。你试图操纵它的方式是使用真实事物的副本。我们这样做是为了可以干净地实施回滚。您可以在此处的文档中阅读有关 JobExecutionListener 的更多信息:http://docs.spring.io/spring-batch/apidocs/org/springframework/batch/core/JobExecutionListener.html

明白了!!!

在作业级别添加侦听器,然后提供自定义 EXIT_CODE 使其工作。

谢谢迈克尔。

public class SampleJobListener implements JobExecutionListener {

@Override
public void beforeJob(JobExecution jobExecution) {
}

@Override
public void afterJob(JobExecution jobExecution) {
    // Setting the exception in batch EXIT MESSAGE
    jobExecution.setExitStatus(new ExitStatus("ERROR","Exception in JOB"));
}

}