当前位置: 首页 > 知识库问答 >
问题:

如何在Spring批量应用中设置退出状态

赫连智
2023-03-14

我正在写一个批处理应用程序,我想在我的应用程序逻辑识别问题并返回时立即设置退出状态。

例如,我正在Writer的write方法中设置以下状态。

stepExecution.getJobExecution().setExitStatus(ExitStatus.FAILED);
    @AfterStep
public ExitStatus afterStep(){
    //Test condition
    return new ExistStatus("CUSTOM EXIT STATUS");
}

共有1个答案

孔理
2023-03-14

您应该正确地拦截作业执行-

public void afterJob(JobExecution jobExecution){

    if( jobExecution.getStatus() == BatchStatus.COMPLETED ){

        jobExecution.setExitStatus(new ExitStatus("CUSTOM SUCCESS STATUS"));

    } else if(jobExecution.getStatus() == BatchStatus.FAILED){

       jobExecution.setExitStatus(new ExitStatus("CUSTOM FAILURE STATUS"));

    }

}
 类似资料:
  • 问题内容: 我面临一种奇怪的情况,即我编写的​​批处理文件报告了错误的退出状态。这是重现该问题的最小示例: 如果我运行此脚本(使用Python,但是当以其他方式启动时实际上也会出现问题),这是我得到的: 注意如何报告,即使应该如此。 现在很奇怪的是,如果我删除了inner子句(这没关系,因为之后的所有内容都不应该执行),然后尝试启动它: 我再次启动它: 现在正确地报告为。 我不知道是什么原因造成的

  • 我正在创建一个非常通用的Spring批处理应用程序,在该应用程序中,我从YAML文件中读取了大量配置,并动态地创建作业并注册如下所示的作业, 所有这些都是在Configuration类中完成的。之后,我会像下面这样启动所有的工作, 我从下面的另一个线程开始做, 这是可行的,但问题是它不会等待所有的作业,当它完成第一个作业时,应用程序将退出。我如何让这等到所有的作业完成,然后退出。

  • 来自WPF开发,我正在使用ASP。NET和Blazor在理解以下内容时有点困难:例如,我想将CSS类值绑定到代码隐藏类的属性。 这就是代码隐藏类的样子: 我的问题如下:如何为不透明度设置初始或后备值?例如,在这种情况下,我希望不透明度初始化为,这样当我在中将其设置为时,文本将淡入。

  • 问题内容: 我知道如何使用$?检查先前执行的命令的状态,我们可以使用exit命令使该状态成为当前状态。但是对于bash中的循环,总是返回状态0,有什么办法可以使循环中断某些状态。 问题答案: 循环的状态是最后执行的命令的状态。您可以使用break中断循环,但如果中断成功,则循环状态为。但是,您可以使用子shell并退出而不是中断。换一种说法: 您也可以将循环放入函数中并从中返回一个值。

  • 问题内容: 与Linux中的类似,有没有一种方法可以获取Windows批处理文件()中程序的退出状态? 假设该程序在成功执行时失败,在失败时失败,我如何将这些退出值捕获在文件中? 问题答案: 使用%ERRORLEVEL%。您不喜欢批处理文件清晰明了吗?:)