Spring Batch 동적 Datasource 관련 문의입니다.
- 작성자 :
- 한*남
- 작성일 :
- 2016-12-13 18:30:10
- 조회수 :
- 883
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
Spring Batch에서
DB_A의 Data를 읽어서 DB_B에 등록하는 배치가 있다면
DB_A 와 DB_B를 설정파일(context-datasource.xml)에 등록하고 JOB(job.xml)에서 사용합니다.
<property name="dataSource" ref="dataSource_DB_A" />
<property name="dataSource" ref="dataSource_DB_B" />
위와 같이 각각 reader 나 writer 에서 사용합니다.
그런데 DB_A 가 서비스가 중지된 상태면 웹서비스가 오류가 발생하고 시작이 안됩니다.
웹서비스는 DB_A의 서비스 상태와 상관없이 운영가능하고
DB_A는 배치가 진행될때만 접속해서 사용할 수도 있을 거 같은데 못찾겠네요.
방법을 안내해 주시면 고맙겠습니다.
관련된 블로그나 사이트도 괜찮습니다.
감사합니다.
DB_A의 Data를 읽어서 DB_B에 등록하는 배치가 있다면
DB_A 와 DB_B를 설정파일(context-datasource.xml)에 등록하고 JOB(job.xml)에서 사용합니다.
<property name="dataSource" ref="dataSource_DB_A" />
<property name="dataSource" ref="dataSource_DB_B" />
위와 같이 각각 reader 나 writer 에서 사용합니다.
그런데 DB_A 가 서비스가 중지된 상태면 웹서비스가 오류가 발생하고 시작이 안됩니다.
웹서비스는 DB_A의 서비스 상태와 상관없이 운영가능하고
DB_A는 배치가 진행될때만 접속해서 사용할 수도 있을 거 같은데 못찾겠네요.
방법을 안내해 주시면 고맙겠습니다.
관련된 블로그나 사이트도 괜찮습니다.
감사합니다.
A
안녕하세요.
설명하신 부분은 dataSource가 초기화 하는 부분 (커넥션 풀 등)에서 DB에 접속할 수 없어 나오는 에러로 보입니다.
그런면 dataSource 빈을 lazy-init으로 초기화를 늦추고 Transaction 또한 모두 요청시 발생할 수 있도록 lazy-init을 걸어서
테스트를 해보셔야 할 듯 합니다.
요청하신 부분은 센터측에서도 별도 데이터가 없어 정확한 답변을 어려울 듯합니다.
감사합니다.
설명하신 부분은 dataSource가 초기화 하는 부분 (커넥션 풀 등)에서 DB에 접속할 수 없어 나오는 에러로 보입니다.
그런면 dataSource 빈을 lazy-init으로 초기화를 늦추고 Transaction 또한 모두 요청시 발생할 수 있도록 lazy-init을 걸어서
테스트를 해보셔야 할 듯 합니다.
요청하신 부분은 센터측에서도 별도 데이터가 없어 정확한 답변을 어려울 듯합니다.
감사합니다.