Spring Batch를 mySQL을 이용해 실행해보려 한다.
이전 글에서 간단하게 Spring Batch가 수행되는 것을 확인했다.
따로 DB를 명시하지 않았기 때문에 단순한 어플리케이션 코드만 작성하면 된다고 생각할 수 있지만 실제로는 그렇지 않다.
Spring Boot의 기본 DB인 H2를 사용해 Spring Batch가 실행된 것이다.
H2 DB가 아닌 MySQL이나 Oracle을 사용하기 위해서는 DB에 Spring Batch Meta Data Table을 직접 생성해줘야 한다.
(H2는 이와 같은 테이블을 Boot Application이 실행될 때 자돟ㅇ으로 생성해준다.)
Spring Batch의 메타 데이터는 아래와 같은 내용들을 담고 있다.
등등 Batch 어플리케이션을 운영하기 위한 메타데이터가 여러 테이블에 나눠져 있다.
정리하면 메타 데이터는 Spring Batch 어플리케이션을 운영하기 위한 데이터를 가지고 있으며, 여러개의 테이블에 나눠져 담겨있게 된다.
이 테이블들이 있어야만 Spring Batch가 정상 작동한다.
IDE에서 file검색으로 'schema-'를 검색해 Spring Batch에서 생성해 놓은 Spring Batch 메타 테이블을 스키마를 찾는다.
각자 사용하고자 하는 DB에 맞는 스키마를 사용하면 된다.
MySQL을 사용할 것이므로 schema-mysql.sql을 선택해서 복사한 후 MySql에서 붙여넣기 한 후 실행한다.
프로젝트의 src/main/resources/application.yml에 mysql Datasource 설정을 추가한다.
위와 같이 Batch Job이 mysql로 정상적으로 수행되는 것을 확인할 수 있다.
https://jojoldu.tistory.com/325
https://minholee93.tistory.com/entry/Spring-Batch-MySQL?category=924031