작성
·
262
0
안녕하세요. 강사님, 수강생입니다.
강의듣다가 , 결과가 강사님과 다르게 나오는데,
소스위치가. https://github.com/onjsd...=> 여기 아닌가요 ?
* JobRepositoryConfiguration 여길 따라하고 잇는데,
JobExecution lastJobExecution = jobRepository.getLastJobExecution(jobName, jobParameters);
실행하면, lastJobExecution 값이 null 로 나와서.. 강의소스 따라해보려고 합니다
답변 2
0
0
네
소스 위치는
https://github.com/onjsdnjs/spring-batch-lecture
입니다.
제가 관련 소스 확인해 보니
인텔리 제이 기준으로 실행시
--job.name=batchJob requestDate=20210102 를 Program arguments 에 설정해서 실행해야 합니다.
그렇게 되면
BATCH_JOB_EXECUTION_PARAMS 테이블의
KEY_NAME 컬럼에는 requestDate 가 저장되고 STRING_VAL 컬럼에는 20210102 가 저장됩니다.
그리고 나서
@Override
public void afterJob(JobExecution jobExecution) {
String jobName = jobExecution.getJobInstance().getJobName();
JobParameters jobParameters = new JobParametersBuilder().addString("requestDate", "20210102").toJobParameters();
JobExecution lastExecution = jobRepository.getLastJobExecution(jobName, jobParameters);
if(lastExecution != null) {
for (StepExecution execution : lastExecution.getStepExecutions()) {
BatchStatus status = execution.getStatus();
System.out.println("BatchStatus = " + status.isRunning());
System.out.println("BatchStatus = " + status.name());
}
}
}
에서 디버깅을 통해 확인해 보면 lastExecution 에는
위와 같이 값이 들어가 있습니다.
다시 한번 확인해 보시기 바랍니다.
해당 소스위치에 파일이 한개만 나타나는데.. 제가 뭘 잘못보고 있는건가요 ?
감사합니다
수고하세요