我有一个罐子,里面有几个作业,我想每次只执行一个作业,并检索一个自定义的退出代码。例如,我有一个基本的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但是如何使用此类?
添加回答
举报
0/150
提交
取消