[Batch] afterChunk() 로 commit 건수를 기록하려고 하는데
- 작성자 :
- 이*우
- 작성일 :
- 2017-06-10 23:35:09
- 조회수 :
- 1,274
- 구분 :
- 공통컴포넌트
- 진행상태 :
- 완료
Q
안녕하세요.
1. 예를들면 테이블 'a' 에 insert 를 합니다.
2. afterChunk() 로 commit 할때마다 누적건수를 (commit 단위는 10)
테이블 'b' 에 기록했습니다.
3. 중간에 강제로 에러를 발생시켰습니다.
4. 'a' 테이블에는 1230건 insert
'b' 테이블 기록은 1220건
에러를 발생시키면 어떤때는 맞고 어떤때는 위와 같이 10건씩 차이가 나는데
이걸 딱 맞게 하려면 어떻게 해야 할까요?? ( 혹시 afterChuck() 로는 맞출수가 없고 다른 method를 사용해야 하는지요? )
감사합니다.
1. 예를들면 테이블 'a' 에 insert 를 합니다.
2. afterChunk() 로 commit 할때마다 누적건수를 (commit 단위는 10)
테이블 'b' 에 기록했습니다.
3. 중간에 강제로 에러를 발생시켰습니다.
4. 'a' 테이블에는 1230건 insert
'b' 테이블 기록은 1220건
에러를 발생시키면 어떤때는 맞고 어떤때는 위와 같이 10건씩 차이가 나는데
이걸 딱 맞게 하려면 어떻게 해야 할까요?? ( 혹시 afterChuck() 로는 맞출수가 없고 다른 method를 사용해야 하는지요? )
감사합니다.
A
안녕하십니까, 이재우님.
표준프레임워크센터입니다.
StepExecutionListener의 @AfterStep으로 insert부분도 참고해주시기 바랍니다.
또한 Chunk에서 커밋 간격 이슈가 있으시다면 데이터소스에 변경 사항이 생기는 구축 환경에 따라
transactionManager 지정 이슈가 발생하니(스프링 전반적으로) 체크해주시기 바랍니다.
*TaskletStep 수행같은 Chunk 선언이 없는 경우에는 ChunkListener를 적용할 수 없습니다.
그 외에 StepListenr에 관해 아래 위키가이드 링크를 첨부해드리겠습니다.
https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:brte:batch_core:listener
감사합니다.
표준프레임워크센터입니다.
StepExecutionListener의 @AfterStep으로 insert부분도 참고해주시기 바랍니다.
또한 Chunk에서 커밋 간격 이슈가 있으시다면 데이터소스에 변경 사항이 생기는 구축 환경에 따라
transactionManager 지정 이슈가 발생하니(스프링 전반적으로) 체크해주시기 바랍니다.
*TaskletStep 수행같은 Chunk 선언이 없는 경우에는 ChunkListener를 적용할 수 없습니다.
그 외에 StepListenr에 관해 아래 위키가이드 링크를 첨부해드리겠습니다.
https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:brte:batch_core:listener
감사합니다.