inflearn logo
강의

講義

知識共有

ばねの配置

ExecutionContext

ExecutionContext 질문

319

nick

投稿した質問数 38

1

안녕하세요. 아래 코드에서 둘 다 ExecutionContext가 반환되는데, 둘은 같은 ExecutionContext가 아니라 다른 ExecutionContext인가요?

메서드 참조로 계속 타고 들어가서 하나는 getJobExecution()에서, 나머지 하나는 getStepExecution()에서 꺼내오는데 둘다 동일한 타입의 ExecutionContext라 헷갈립니다.

그리고 저렇게 각각 꺼내올 때 다른 ExecutionContext라 JobExecutionContext에 저장된 값을 Step에서 공유가 가능하고, stepExecutionContext에 저장된 값은 Step에서 공유가 불가능한 것이 맞는지 궁금합니다.

ExecutionContext jobExecutionContext = stepContribution.getStepExecution().getJobExecution().getExecutionContext();
ExecutionContext stepExecutionContext = stepContribution.getStepExecution().getExecutionContext();

spring-boot spring-batch

回答 2

0

nick

  1. 강의보다가 한 가지 더 궁금한 점이 있어 여쭤봅니다.

40:56초 쯤에 if 문에서 jobExecutionContext에서 이제 값을 조회할 수 있어서 if문이 걸리지 않는 것으로 알고 있는데요.

생각해보면 job을 실행할 때마다 jobExection이 새로 생성이 되고, jobExecutionContext는 jobExecution을 참조하는데 어떻게 해서 첫 번째에 시도했던 값을 파악하는 것인지 궁금합니다. 그렇게 되면 수행된 job이 많아질 수록 곁쳐지는 이름이 많아서 로직상 추후 원치 않은대로 수행될 가능성도 있을 것 같다는 생각인데 이 부분도 설명해 주실 수 있을까요?

0

nick

아 강의를 2번정도 다시 돌려봤는데 그제서야 보이네요..

디버깅 하실 때 주소값이 다르네요!

그런데 어떻게 같은 타입인데 jobExecution은 공유가 가능하고, stepExecution은 공유가 불가능한지.. 궁금합니다!

제가 ExecutionContext 클래스를 봤을 땐 인터페이스인가 해서 봤더니 그냥 클래스더라구요

0

leaven

job 과 step 의 관계를 보면 job 이 step 를 포함하는 관계임을 알 수 있습니다.

그래서 job 안에 여러 step 를 구성할 수 있기 때문에 여러 step 은 상위 개념의 동일한 job 의 ExecutionContext 에 접근이 가능하므로 데이터를 공유할 수 있습니다.

step 은 각 자신만의 ExecutionContext 를 가지고 있기 때문에 step 간 데이터를 공유할 수 없습니다.

강의에서 설명하는 jobExecutionContext 와 stepExecutionContext 의 구조와 관계를 참고해 주시기 바랍니다.

스프링 배치 버전 질문

0

120

1

소스코드가 어디에 있나요?

0

96

2

트랜잭션 예외

0

90

1

질문이 있습니다.

0

128

2

ChunkListener 에서 beforeChunk 의 실행 시점 관련 질문

0

124

2

여러 JOB 설정하는법

0

149

2

강의 자료 다른 방법 있을까요?

0

154

1

JobExecution과 JobExecutionContext와의 관계

0

186

2

특정 job만 실행

1

251

1

Batch 성능 질문

0

152

1

ItemReaderAdapter 종료

0

79

1

[ 강좌 Git 브랜치 문의 ] 섹션 9 > JdbcCursorItemReader, JpaCursorItemReader

0

179

2

Spring Batch 배포 질문

0

245

2

spring batch 버전

0

235

2

retry count 관련 질문

0

171

2

StepExecutionListener 의 afterStep 에서 return ExitStatus.FAILED 에 의한 동작에 의문이 갑니다.

0

330

2

jdbc, jpa 커서방식 조회 방식 차이 질문 (강사님께 답변 받고 싶습니다)

0

234

2

Multithread step과 AsyncItemProcessor

0

202

2

job 재실행

0

250

2

bean 생명주기 문제 도와주세요(@Scope("step"), @Autowired)

0

183

1

Multi-threaded-step과 Partitioning 차이 확인

0

174

2

jdbcCursorReader, jdbcPagingReader 질문

0

145

1

step muti-thread 질문

0

109

1

itemSteam open update close 질문

0

110

1