목록Spring/Spring Batch (25)
개발놀이터
스프링 배치에서는 각기 다양한 ItemReader를 제공하는데 그 중 CursorItemReader 와 PagingItemReader는 언뜻 보기에 비슷해 보이고 실제로도 하는 일이 비슷합니다. 그래서 이번 포스팅에선 이 둘의 차이점에 대해 탐구해보는 시간을 가져보도록 하겠습니다. ItemReader 우선 ItemReader에 대해서 짚고 넘어가야 할 것 같습니다. ItemReader란 뭘까요? 스프링 배치의 ItemReader는 데이터를 읽어들이는 일을 합니다. 그게 꼭 DB의 데이터만을 얘기하진 않습니다. File, XML, JSON 등 다른 데이터 소스를 배치 처리의 입력으로 사용할 수 있습니다. 이외에도 Spring Batch에서 지원하지 않는 Reader가 필요한 경우 직접 해당 Reader를 ..
JobParameter란? 우선 JobParameter에 대해 알아보자면, 스프링 문서에는 이렇게 나와있습니다.. https://docs.spring.io/spring-batch/docs/current/reference/html/domain.html#jobparameters The Domain Language of Batch This section describes stereotypes relating to the concept of a batch job. A Job is an entity that encapsulates an entire batch process. As is common with other Spring projects, a Job is wired together with either a..
저번 포스팅과 이어지는 내용입니다. https://coding-review.tistory.com/177 스프링 배치를 이용해서 휴면 계정을 관리해보자 스프링 배치에 대한 전반적인 내용은 아래의 포스팅을 참고해주세요. 때문에 스프링 배치에서 사용되는 단어에 대한 설명은 생략합니다. https://coding-review.tistory.com/172 스프링 부트 배치 개념 대 coding-review.tistory.com 때문에 배치와 관련된 코드는 생략하도록 하겠습니다. 스프링 배치 vs 스케줄러 배치에 대해 잘 알고계시지 못하는 분이 배치와 스케줄러를 같다고 생각하십니다. 하지만 둘은 엄연히 다른 존재입니다. 스프링 배치는 대용량 데이터를 단발성으로 처리해야 하는 경우에 사용하는 프레임워크입니다. 스케줄..
스프링 배치에 대한 전반적인 내용은 아래의 포스팅을 참고해주세요. 때문에 스프링 배치에서 사용되는 단어에 대한 설명은 생략합니다. https://coding-review.tistory.com/172 스프링 부트 배치 개념 대략 10만명의 회원을 거느리는 웹 서비스를 운영한다고 가정했을 때 우린 매일마다 회원들의 상태변화를 감지하고 운용할 수 있어야 합니다. 가령 오늘까지 우리 서비스에 접속하지 않은지 1년 coding-review.tistory.com 스프링 배치를 이용해서 휴면 계정을 관리해 보겠습니다. 사용한 기술 스택 -Spring Boot 2.7.2 -Spring Data JPA 우선 Entity를 만들어 보겠습니다. 코드에 대해서 하나씩 설명하면서 진행하도록 하겠습니다. Member.java p..
대략 10만명의 회원을 거느리는 웹 서비스를 운영한다고 가정했을 때 우린 매일마다 회원들의 상태변화를 감지하고 운용할 수 있어야 합니다. 가령 오늘까지 우리 서비스에 접속하지 않은지 1년 이상이 지난 회원의 상태는 휴면으로 전환시키고 휴면으로 전환된 회원은 다시 로그인 했을 때 본인인증 절차를 거치도록 하는 것이 서비스 보안에 좋겠죠. 또는 후불로 청구되는 유료 서비스를 이용하고 과금액을 미납한지 한 달째 되는 회원에 대해서도 매일마다 집계하여 그에 맞는 추심을 한다거나 채권 관리대상으로 지정하여 우리서비스의 수익구조를 안정적으로 보호해야 하는 경우도 있습니다. 만약 이런 일들을 사람의 손을 반복적으로 거쳐야 한다면 매우 고단한 일이 될겁니다. 스프링부트 프레임워크에서는 이러한 일괄처리를 쉽게 안정적으로..