스프링배치 관련 질문입니다.
- 작성자 :
- 유*현
- 작성일 :
- 2015-09-08 13:14:06
- 조회수 :
- 807
- 구분 :
- 공통컴포넌트
- 진행상태 :
- 완료
Q
안녕하세요.
스프링배치 관련 해서 한가지 의문이 있어서 이렇게 글올립니다.
http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:brte:batch_core:item_reader#database_itemreader
위 링크에 보면 reader관련해서 cursor방식과 pageing방식으로 소개를 했는데요.
cursor방식에 대해 좀 알고 싶습니다.
그림에서는 fo21,foo3,f004이렇게 해서 전체 read한 내용을 나누어서 처리하는것처럼 보이는데
where 절에 구간 조회조건은 어디서 설정하나요.
sample에서는
<bean id="itemReader" class="org.springframework.batch.item.database.JdbcCursorItemReader">
<property name="dataSource" ref="dataSource"/>
<property name="sql" value="select ID, NAME, CREDIT from CUSTOMER"/>
<property name="rowMapper">
<bean class="egovframework.brte.sample.domain.trade.CustomerCreditRowMapper"/>
</property>
</bean>
이렇게 되어있는데요. 구간을 정하는 부분이 없는데 어디서 해야하는지요.
답변 부탁드립니다.
감사합니다.
스프링배치 관련 해서 한가지 의문이 있어서 이렇게 글올립니다.
http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte2:brte:batch_core:item_reader#database_itemreader
위 링크에 보면 reader관련해서 cursor방식과 pageing방식으로 소개를 했는데요.
cursor방식에 대해 좀 알고 싶습니다.
그림에서는 fo21,foo3,f004이렇게 해서 전체 read한 내용을 나누어서 처리하는것처럼 보이는데
where 절에 구간 조회조건은 어디서 설정하나요.
sample에서는
<bean id="itemReader" class="org.springframework.batch.item.database.JdbcCursorItemReader">
<property name="dataSource" ref="dataSource"/>
<property name="sql" value="select ID, NAME, CREDIT from CUSTOMER"/>
<property name="rowMapper">
<bean class="egovframework.brte.sample.domain.trade.CustomerCreditRowMapper"/>
</property>
</bean>
이렇게 되어있는데요. 구간을 정하는 부분이 없는데 어디서 해야하는지요.
답변 부탁드립니다.
감사합니다.
A
안녕하세요. 표준프레임워크 센터 입니다.
cursor 방식에서는 paging 방식과 달리 where절 설정인자가 없습니다.
즉, sql value에 직접 넣어서 사용할 수 있으며
ex) <property name="sql" value="select ID, NAME, CREDIT from CUSTOMER where status='NEW' "/>
또는 jobParameters를 사용하여 where절 인자값을 구여할 수 있습니다.
ex) <property name="sql" value="select ID, NAME, CREDIT from CUSTOMER where status= #{jobParameters['status']"/>
job launcher 실행시
JobParameters param = new JobParametersBuilder().addString("status", "NEW").toJobParameters();
JobExecution execution = jobLauncher.run(job, param);
-------------------------------------------------------------------------------------------------------------------------------------
특정 파리미터 설정, 처리 방식 변경은
[egovframework.brte.core.launch.support.EgovBatchRunner, EgovSchedulerRunner]
해당 배치 실행환경 Runner를 커스텀 마이징 하셔서 사용 하시면 됩니다.
감사합니다.
cursor 방식에서는 paging 방식과 달리 where절 설정인자가 없습니다.
즉, sql value에 직접 넣어서 사용할 수 있으며
ex) <property name="sql" value="select ID, NAME, CREDIT from CUSTOMER where status='NEW' "/>
또는 jobParameters를 사용하여 where절 인자값을 구여할 수 있습니다.
ex) <property name="sql" value="select ID, NAME, CREDIT from CUSTOMER where status= #{jobParameters['status']"/>
job launcher 실행시
JobParameters param = new JobParametersBuilder().addString("status", "NEW").toJobParameters();
JobExecution execution = jobLauncher.run(job, param);
-------------------------------------------------------------------------------------------------------------------------------------
특정 파리미터 설정, 처리 방식 변경은
[egovframework.brte.core.launch.support.EgovBatchRunner, EgovSchedulerRunner]
해당 배치 실행환경 Runner를 커스텀 마이징 하셔서 사용 하시면 됩니다.
감사합니다.