SpringBatch JOB启动分析

本文分析了SpringBatch中通过jobLauncher.run()启动作业的过程,包括查询最近作业执行情况、校验执行状态以及异步启动任务的步骤。重点讨论了在查询JOB_INSTANCE、JOB_EXECUTION和STEP_EXECUTION等表中的数据,以及对执行状态的判断,如不允许从STOPPING、UNKNOWN状态启动,并检查参数准确性。最后介绍了在某些状态下如何处理错误,如JobRestartException和JobExecutionAlreadyRunningException。
摘要由CSDN通过智能技术生成

SpringBatch启动的方式是通过jobLauncher.run(Job,JobParameters)调用来启动;
JobLauncher的实现类SimpleJobLauncher执行run方法

b2620441d3be569a178479702477be24551.jpg
一、查询最近一次job执行的情况
1、getLastJobExecution:获取最近一次实例的详细信息;通过getJobInstance查询该任务,
判断参数jobParameters是否存在,
查询的参数分别是jobName和参数jobParameters,其中参数是被转化成MD5的,查询表JOBINSTANCE; 

参数不为空:SELECT JOB_INSTANCE_ID, JOB_NAME from %PREFIX%JOB_INSTANCE where JOB_NAME = ? and JOB_KEY = ?

参数为空:SELECT JOB_INSTANCE_ID, JOB_NAME from %PREFIX%JOB_INSTANCE where JOB_NAME = ? and (JOB_KEY = ? OR JOBKEY is NULL)
返回jobInstance对象
2、查询batch_job_execution表,这个表标识该JOB最近一次执行的状态、查询次数、提交次数等等;
SELECT JOB_EXECUTION_ID, START_TIME,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值