스프링 배치환경에서 온라인 Class 호출 및 실행 방법에 대하여 문의 드립니다.
- 작성자 :
- 서*민
- 작성일 :
- 2022-03-11 19:02:16
- 조회수 :
- 2,008
- 구분 :
- 실행환경 / 3.8
- 진행상태 :
- 완료
Q
안녕하세요
공공프로젝트 수행을 준비하고 있는 개발자입니다.
기존 시스템의 배치 환경에서 온라인 환경과 배치 환경간의 동일업무 처리를 위해
온라인 환경의 Class를 호출하여 사용하고 있습니다.
비즈니스 로직이 변경되지 않으며 프로젝트 상황상 기존 소스를 재활용해서 사용해야 하고
배치의 실행 환경과 온라인 실행 환경의 소스 호출 환경을 동일하게 구성해야 하는데 오류가 발생하고 있습니다.
Spring 배치의 ItemPreocess 에서 기존 ServiceImpl, DAO, MyBatis 의 활용이
온라인 모듈의 ClassPath 구성만으로는 정상 호출이 불가한 상황입니다.
- 온라인 ServiceImpl : EgovAbstractServiceImpl 을 상속받아 온라인 처리의 구성으로 동작
- 온라인 DAO : DAO 의 상속받은 추상 DAO 가 온라인 쪽 구성으로 되어 있음
온라인 모듈의 호출은 오류가 발생되어 EgovAbstractServiceImpl 상속을 삭제하고
온라인 소스를 배치 환경으로 복사/수정을 통해 일부는 ItemProcess 에서 활용될 수 있을 것 같으나
작업 대상이 너무 많아 적용이 어려운 상황입니다.
가능한 방법이 있을까요?
조언 요청드립니다.
감사합니다.
공공프로젝트 수행을 준비하고 있는 개발자입니다.
기존 시스템의 배치 환경에서 온라인 환경과 배치 환경간의 동일업무 처리를 위해
온라인 환경의 Class를 호출하여 사용하고 있습니다.
비즈니스 로직이 변경되지 않으며 프로젝트 상황상 기존 소스를 재활용해서 사용해야 하고
배치의 실행 환경과 온라인 실행 환경의 소스 호출 환경을 동일하게 구성해야 하는데 오류가 발생하고 있습니다.
Spring 배치의 ItemPreocess 에서 기존 ServiceImpl, DAO, MyBatis 의 활용이
온라인 모듈의 ClassPath 구성만으로는 정상 호출이 불가한 상황입니다.
- 온라인 ServiceImpl : EgovAbstractServiceImpl 을 상속받아 온라인 처리의 구성으로 동작
- 온라인 DAO : DAO 의 상속받은 추상 DAO 가 온라인 쪽 구성으로 되어 있음
온라인 모듈의 호출은 오류가 발생되어 EgovAbstractServiceImpl 상속을 삭제하고
온라인 소스를 배치 환경으로 복사/수정을 통해 일부는 ItemProcess 에서 활용될 수 있을 것 같으나
작업 대상이 너무 많아 적용이 어려운 상황입니다.
가능한 방법이 있을까요?
조언 요청드립니다.
감사합니다.
환경정보
-
- OS 정보 : Linux
- 표준프레임워크 버전 : 전자정부 3.8
- JDK(JRE) 정보 : JDK1.8
- WAS 정보 : weblogic
- DB 정보 : oracle
- 기타 환경 정보 : spring batch
A
안녕하세요.
표준프레임워크센터 입니다.
기재하신 내용만으로는 정확히 알수는 없으나
커스텀 작업의 경우 케이스나 적용결과가 다양하기 때문에
가이드 해드리기 어렵습니다.
다음 실행환경 위키가이드에서
배치처리 관련하여 확인해 보시면 좋을듯 합니다.
https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.0
기본적인 ItemReader , ItemWriter, ItemProcess 구조외에 확장이 필요한경우
Tasklet 을 확장하여 배치 프로세스에서 스텝처리를 시도해 보시면
목표로 하시는 기능의 구현이 가능할것으로 예상됩니다.
감사합니다.
표준프레임워크센터 입니다.
기재하신 내용만으로는 정확히 알수는 없으나
커스텀 작업의 경우 케이스나 적용결과가 다양하기 때문에
가이드 해드리기 어렵습니다.
다음 실행환경 위키가이드에서
배치처리 관련하여 확인해 보시면 좋을듯 합니다.
https://www.egovframe.go.kr/wiki/doku.php?id=egovframework:rte4.0
기본적인 ItemReader , ItemWriter, ItemProcess 구조외에 확장이 필요한경우
Tasklet 을 확장하여 배치 프로세스에서 스텝처리를 시도해 보시면
목표로 하시는 기능의 구현이 가능할것으로 예상됩니다.
감사합니다.