Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- spring batch
- Transaction Pattern
- 키클락
- 알고리즘
- Spring Boot Actuator
- 스레드
- 스프링 배치
- zipkin
- 생산자 소비자 패턴
- 멀티스레드
- 디자인 패턴
- 사가 패턴
- 디자인패턴
- thread
- Spring Cloud Netfilx Eureka
- spring cloud
- MSA
- 배치
- TypeScript
- Parallel Old GC
- 타입스크립트
- Serial GC
- Resilinece4j
- JPA
- Java
- Action Pattern
- java 정렬
- The law of Demeter
- saga pattern
- 체인 패턴
Archives
- Today
- Total
PSD( Private-Self-Development )
Spring Batch 이벤트 리스너 본문
Spring Batch 는 프로세스 간에 다양한 이벤트 리스너 를 제공한다.
이를 공부해보자!
JobExecutionListener, StepExecutionListener
- Job/Step 의 실행 전/후 이벤트 할당
- Job/Step 의 성공 여부와 상관없이 호출된다.
- 성공 실패 여부는 JobExecution/StepExecution을 통해 알 수 있다.
예시
public Job job() {
return jobBuilderFactory.get("job")
.start(step())
.next(flow())
.listener(JobExecutionListener)
.listener(Object) // 어노테이션 방식
.build();
}
public Step step() {
return stepBuilderFactory.get("step")
.tasklet(tasklet())
.listener(StepExecutionListener)
.build();
}
ChunkListener
- 트랜잭션이 시작되기 전 ( ItemReader 의 read() 호출 전 )
- Chunk 가 커밋된 후 ( ItemWriter 의 write() 호출 전, 롤백 시 X )
- 오류 발생 및 롤백 시 호출
public Step step() {
return stepBuilderFactory.get("step")
.chunk(chunkSize)
.listener(ChunkListener)
.build();
}
ItemReadListener, ItemProcessListener, ItemWriterListener
- 메서드 호출 전, 성공/실패 시 이벤트 할당
public Step step() {
return stepBuilderFactory.get("step")
.chunk(chunkSize)
.reader(ItemReader)
// .processor(ItemProcessor)
// .writer(ItemWriter)
.listener(ItemReadListener)
.build();
}
SkipListener
- read, process, write 수행 중 skip 발생 한 경우 이벤트 할당
RetryListener
- 재시도 전, 후, 실패 시 마다 이벤트 할당
출저
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%EB%B0%B0%EC%B9%98/dashboard
'Backend > Spring Batch' 카테고리의 다른 글
Spring Batch 운영 (0) | 2023.05.02 |
---|---|
Spring Batch 테스트 (0) | 2023.04.25 |
Spring Batch 멀티 스레드 프로세싱 (0) | 2023.04.19 |
Spring Batch 반복 및 오류 제어 (0) | 2023.04.17 |
JobBuilder 와 StepBuilder 그리고 배치 상태 종류 (0) | 2023.03.15 |