회사에서 신규 서비스를 개발하고 있는데, API개발과 배치서버 개발 업무를 맡게 되었다. 배치 서버에서는 여러 개의 스키마로 구성된 DB의 한 테이블에서 날짜를 받아 만료처리하는 배치 스케줄러와, 특정 데이터들을 한꺼번에 끌어모아 해당 유저에게 데이터들의 통계차트를 메일로 쏴주는 배치 스케줄러였다. 프로젝트의 특이한(?) DB 환경으로 만료처리 스케줄러에서도 문제가 많았다. DB가 PostgreSQL이고, Database-Schema-Table로 구성되어있는데, 하나의 데이터베이스에 여러 개의 스키마로 구성되어 그 스키마를 전부 돌아야 했다. (Mysql로 생각하면 여러개의 Database를 사용하는 것) 유저들과, 공통으로 사용할 데이터들은 public 스키마에 존재하고, B2B모델이기 때문에 고객사..
이전 게시글 : https://wn1331.tistory.com/253 Spring Batch 5 - 2. Batch 설정하기, Job 이전 포스팅에서 했던 프로젝트에서 추가로 Batch 설정을 추가한다. 1. Spring Batch MetaData란? 메타데이터 테이블은 Spring Batch 프레임워크에서 배치 작업의 실행 정보를 저장하는 데이터베이스 테이 wn1331.tistory.com Step에 대해서 tonylim님의 블로그에서 내용을 참조했다. https://tonylim.tistory.com/431 스프링 배치 실행 - Step StepBuilderFactory 1. StepBuilderFactory - StepBuilder를 생성하는 팩토리 클래스로서 get(String name) 메서드..
이전 게시글 https://wn1331.tistory.com/252 Spring Batch 5 - 1. 시작하기 회사에서 신규 프로젝트를 하는데, 배치 서버를 구축하는 업무를 내가 맡게 되었다. 포스팅은 배치 서버를 구축하는 방법, Job을 생성하고 Tasklet 기반 Step과 Chunk 기반 Step에 대해서 다루어 볼 것 wn1331.tistory.com 이전 포스팅에서 했던 프로젝트에서 추가로 Batch 설정을 추가한다. 1. Spring Batch MetaData란? 메타데이터 테이블은 Spring Batch 프레임워크에서 배치 작업의 실행 정보를 저장하는 데이터베이스 테이블이다. 이러한 테이블은 배치 작업이 실행되고 완료되는 동안 발생하는 여러 이벤트 및 정보를 추적하고 기록하는 데 사용된다...
회사에서 신규 프로젝트를 하는데, 배치 서버를 구축하는 업무를 내가 맡게 되었다. 포스팅은 배치 서버를 구축하는 방법, Job을 생성하고 Tasklet 기반 Step과 Chunk 기반 Step에 대해서 다루어 볼 것이고, Chunk기반 Step은 스프링에서 기본적으로 제공하는 Reader와 Writer에 대해서 다루어 볼 것이다. 업무는 멀티모듈과 스키마 기반 멀티테넌시 환경에서, 배치 서버를 구축하는 것인데, 이는 추후에 포스팅할 것이다. 첫 글에서는, 최신 스프링 배치 버전인 Spring Batch 5의 특징을 알아보고, 간단하게 구축하는 방법을 알아보자. 1. Spring Batch 5 변경점 https://docs.spring.io/spring-batch/docs/current/reference/..