gpt4 book ai didi

java - Spring批处理执行最后一步甚至出现异常

转载 作者:行者123 更新时间:2023-12-02 09:39:26 30 4
gpt4 key购买 nike

我想运行一个 Spring Batch 作业,它有一组步骤,最后我想向 Redis 发送包含作业执行状态的通知。假设如果所有步骤都执行了,我应该发送“通过”。如果有任何执行或任何错误,我想通过“失败”。所以我的最后一步将是通知 Redis 更新状态,无论它完成得很好还是出现了异常。

我的问题是:

  1. 我可以在 Spring Batch 中实现这一目标吗?
  2. 我可以使用通知吗作为最后一步,或者我应该使用任何特定的方法这?
  3. 如何获取职位状态?

我知道我可以获得工作状态,例如:

 JobExecution execution = jobLauncher.run(job, params);
System.out.println("Exit Status : " + execution.getStatus());

但是我在命令行中调用该作业,例如 java -jar app.jar ----spring.batch.job.names=myjobnamehere 这样我就不会使用 JobExecution 对象。

最佳答案

您可以使用 JobExecutionListener为了那个原因。在 afterJob 方法中,您可以引用 JobExecution,从中您可以获取作业的状态并根据需要发送通知。

您可以在 getting started guide 中找到示例(请参阅JobCompletionNotificationListener)。

关于java - Spring批处理执行最后一步甚至出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57220628/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com