SpringBatch启动的方式是通过jobLauncher.run(Job,JobParameters)调用来启动;
JobLauncher的实现类SimpleJobLauncher执行run方法
一、查询最近一次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,