为了账号安全,请及时绑定邮箱和手机立即绑定

Spring批处理返回自定义流程退出代码

Spring批处理返回自定义流程退出代码

素胚勾勒不出你 2021-04-07 13:10:01
我有一个罐子,里面有几个作业,我想每次只执行一个作业,并检索一个自定义的退出代码。例如,我有一个基本的job(retrieveErrorsJob)配置,其中一个步骤将读取输入的XML文件并将数据写入特定的数据库表中。应用类别@SpringBootApplication@EnableBatchProcessing@Import(CoreCommonsAppComponent.class)public class Application {    private static final Logger logger = LoggerFactory.getLogger(Application.class);    private ConfigurationConstants constants;    @Autowired    public Application(ConfigurationConstants constants) {        this.constants = constants;    }    @EventListener(ApplicationStartedEvent.class)    public void idApplication()    {        logger.info("================================================");        logger.info(constants.APPLICATION_NAME() + "-v." + constants.APPLICATION_VERSION() + " started on " + constants.REMOTE_HOST());        logger.info("------------------------------------------------");    }    public static void main(String... args) throws Exception{        ApplicationContext context = SpringApplication.run(Application.class, args);        logger.info("================================================");        SpringApplication.exit(context);    }}我可以从命令行选择一项工作:java -jar my-jar.jar --spring.batch.job.names=retrieveErrorsJob --input.xml.file=myfile.xmlSpring Batch将启动正确的作业。问题是我需要jar返回一个自定义进程退出整数(如ExitCode.FAILED == 4etc),但我始终为零(如果ExitCode = SUCCESS或FAILED)。根据文档,我需要实现ExitCodeMapper接口。我找不到使用此自定义实现的方法。我可以将自定义实现设置为,CommandLineJobRunner但是如何使用此类?
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 195 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信