인프런 커뮤니티 질문&답변

탱크님의 프로필 이미지
탱크

작성한 질문수

스프링 배치

문의 드립니다.

작성

·

262

0

안녕하세요. 강사님, 수강생입니다.

강의듣다가 , 결과가 강사님과 다르게 나오는데,

소스위치가. https://github.com/onjsd...=> 여기 아닌가요 ?

 

* JobRepositoryConfiguration 여길 따라하고 잇는데, 

 

JobExecution lastJobExecution = jobRepository.getLastJobExecution(jobName, jobParameters);

실행하면, lastJobExecution  값이 null 로 나와서.. 강의소스 따라해보려고 합니다

 

답변 2

0

정수원님의 프로필 이미지
정수원
지식공유자

 master 를 클릭해 보시면 아래에 보시면 브랜치들이 있습니다.

참고해 주세요~

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 에는 

위와 같이 값이 들어가 있습니다.

다시 한번 확인해 보시기 바랍니다.

탱크님의 프로필 이미지
탱크
질문자

해당 소스위치에 파일이 한개만 나타나는데.. 제가 뭘 잘못보고 있는건가요 ?

 

 

 

감사합니다

수고하세요

 

 

 

탱크님의 프로필 이미지
탱크

작성한 질문수

질문하기