배치 운영환경 질문드립니다.
- 작성자 :
- 이*철
- 작성일 :
- 2020-01-21 18:42:26
- 조회수 :
- 1,972
- 구분 :
- 운영환경
- 진행상태 :
- 완료
Q
안녕하세요.
배치관련 질문 질문드립니다.
job.xml에서 아래와 같이 TargetTasklet을 호출하게끔 설정하였습니다.
<job id="TargetJob2" xmlns="http://www.springframework.org/schema/batch">
<step id="TargetJobStep">
<tasklet ref="TargetJobTasklet"/>
</step>
</job>
<bean id="TargetJobTasklet" class="batch.web.TargetTasklet" />
TargetTasklet 파일에
public class TargetTasklet implements Tasklet {
@Resource(name = "targetService")
private TargetService targetService;
@Override
public RepeatStatus execute(StepContribution contribution, ChunkContext chunkContext) throws Exception {
위와같이 작성하였습니다. execute 함수내에서 서비스를 호출하여 DB 처리를 하려고 합니다.
100건을 DB에 등록 해야한다고 할 때 5건 마다 수동으로 commit 할 수 있는 방법이 있을까요??
확인부탁드립니다.
감사합니다.
배치관련 질문 질문드립니다.
job.xml에서 아래와 같이 TargetTasklet을 호출하게끔 설정하였습니다.
<job id="TargetJob2" xmlns="http://www.springframework.org/schema/batch">
<step id="TargetJobStep">
<tasklet ref="TargetJobTasklet"/>
</step>
</job>
<bean id="TargetJobTasklet" class="batch.web.TargetTasklet" />
TargetTasklet 파일에
public class TargetTasklet implements Tasklet {
@Resource(name = "targetService")
private TargetService targetService;
@Override
public RepeatStatus execute(StepContribution contribution, ChunkContext chunkContext) throws Exception {
위와같이 작성하였습니다. execute 함수내에서 서비스를 호출하여 DB 처리를 하려고 합니다.
100건을 DB에 등록 해야한다고 할 때 5건 마다 수동으로 commit 할 수 있는 방법이 있을까요??
확인부탁드립니다.
감사합니다.
A
안녕하세요.
표준프레임워크센터 입니다.
DB에 등록하는 건이라면
step에 리더와 라이터를 지정하는 방식으로
구현 하는게 손쉬울듯 합니다.
기본적으로 다음 구조입니다.
<job id="sampleJob" job-repository="jobRepository">
<step id="step1">
<tasklet transaction-manager="transactionManager">
<chunk reader="itemReader" writer="itemWriter" commit-interval="10"/>
<tasklet>
</step>
</job>
이경우 commit-interval 속성의 사용이 가능합니다.
Tasklet을 커스텀하여 구현한다면
내부적으로 루프를 구성하고
커밋 처리도 내부적으로 구현되어야 할것으로 예상됩니다.
감사합니다.
표준프레임워크센터 입니다.
DB에 등록하는 건이라면
step에 리더와 라이터를 지정하는 방식으로
구현 하는게 손쉬울듯 합니다.
기본적으로 다음 구조입니다.
<job id="sampleJob" job-repository="jobRepository">
<step id="step1">
<tasklet transaction-manager="transactionManager">
<chunk reader="itemReader" writer="itemWriter" commit-interval="10"/>
<tasklet>
</step>
</job>
이경우 commit-interval 속성의 사용이 가능합니다.
Tasklet을 커스텀하여 구현한다면
내부적으로 루프를 구성하고
커밋 처리도 내부적으로 구현되어야 할것으로 예상됩니다.
감사합니다.