배치 job parameter와 IbatisPagingItemReader에서 사용
- 작성자 :
- j***5
- 작성일 :
- 2019-03-11 19:01:42
- 조회수 :
- 2,168
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
배치운영환경 3.7.0 사용중입니다.
1. 배치 job 파라미터를 정의하고 이를 ibatisPagingItemReader의 sql문에 전달하여 사용할 수 있는 방법이 있는지요?
2. 배치를 재처리거나 1회실행 스케쥴로 실행할 때 배치 파라미터값을 입력할 수 있나요?
1. 배치 job 파라미터를 정의하고 이를 ibatisPagingItemReader의 sql문에 전달하여 사용할 수 있는 방법이 있는지요?
2. 배치를 재처리거나 1회실행 스케쥴로 실행할 때 배치 파라미터값을 입력할 수 있나요?
A
안녕하세요.
표준프레임워크센터 입니다.
파라미터 전달 관련하여서
참고할수 있는 샘플을 전달드리겠습니다.
맵 역할을 하는 빈을 경유하게 하고
예를들어 job parameter는 빈에서
#{jobParameters['age']}라는 형식으로 사용할수 있으니
참고하시기 바랍니다.
<bean id="mybatisJobStep.mybatisItemReader" class="egovframework.rte.bat.item.EgovMyBatisPagingItemReader" scope="step">
<property name="sqlSessionFactory" ref="sqlSession" />
<property name="parameterValues" ref="stringParameters" />
<!-- <property name="resourceVariable" ref="egovResourceVariable" /> -->
<property name="queryId" value="EmpMapper.selectEmpList" />
<property name="pageSize" value="#{new Integer(10)}" />
</bean>
<util:map id="stringParameters" key-type="java.lang.String" value-type="java.lang.String" scope="step">
<entry key="today" value="#{new java.text.SimpleDateFormat('yyyyMMddHH').format(new java.util.Date())}"/>
<entry key="empNo" value="7369"/>
<entry key="empName" value="SMITH"/>
</util:map>
<bean id="egovResourceVariable" class="egovframework.rte.bat.support.EgovResourceVariable">
<property name="pros">
<props>
<prop key="empNo">7499</prop>
<prop key="empName">ALLEN</prop>
<prop key="empNoR">7499</prop>
<prop key="empNameR">ALLEN</prop>
<prop key="mgrR">777777777722</prop>
</props>
</property>
</bean>
다음 페이지에서는 parameterValues를
이용하는 샘플을 확인할수 있습니다.
ibatisPagingItemReader에서도
parameterValues를 사용할수 있으니 참고가 되실듯 합니다.
http://www.mkyong.com/spring-batch/spring-batch-example-mysql-database-to-xml/
배치의 재처리 시나 1회 실행시에도 동일하게 적용될 것으로 판단됩니다.
감사합니다.
표준프레임워크센터 입니다.
파라미터 전달 관련하여서
참고할수 있는 샘플을 전달드리겠습니다.
맵 역할을 하는 빈을 경유하게 하고
예를들어 job parameter는 빈에서
#{jobParameters['age']}라는 형식으로 사용할수 있으니
참고하시기 바랍니다.
<bean id="mybatisJobStep.mybatisItemReader" class="egovframework.rte.bat.item.EgovMyBatisPagingItemReader" scope="step">
<property name="sqlSessionFactory" ref="sqlSession" />
<property name="parameterValues" ref="stringParameters" />
<!-- <property name="resourceVariable" ref="egovResourceVariable" /> -->
<property name="queryId" value="EmpMapper.selectEmpList" />
<property name="pageSize" value="#{new Integer(10)}" />
</bean>
<util:map id="stringParameters" key-type="java.lang.String" value-type="java.lang.String" scope="step">
<entry key="today" value="#{new java.text.SimpleDateFormat('yyyyMMddHH').format(new java.util.Date())}"/>
<entry key="empNo" value="7369"/>
<entry key="empName" value="SMITH"/>
</util:map>
<bean id="egovResourceVariable" class="egovframework.rte.bat.support.EgovResourceVariable">
<property name="pros">
<props>
<prop key="empNo">7499</prop>
<prop key="empName">ALLEN</prop>
<prop key="empNoR">7499</prop>
<prop key="empNameR">ALLEN</prop>
<prop key="mgrR">777777777722</prop>
</props>
</property>
</bean>
다음 페이지에서는 parameterValues를
이용하는 샘플을 확인할수 있습니다.
ibatisPagingItemReader에서도
parameterValues를 사용할수 있으니 참고가 되실듯 합니다.
http://www.mkyong.com/spring-batch/spring-batch-example-mysql-database-to-xml/
배치의 재처리 시나 1회 실행시에도 동일하게 적용될 것으로 판단됩니다.
감사합니다.