이슈👉 1. JpaItemWriter Persist 설정 오류👉 2. Spring Batch 5.0 업데이트로 인한 JobBuilderFactory, StepBuilderFactory Deprecated👉 3. 데이터 마이그레이션하는 Entity Id 설정 이슈문제1. 기존 ADatabase에서 BDatabase로 데이터 마이그레이션처음에 batch 프로세스를 작성해 본 적이 없어서 에러를 분석하면서 하나씩 변경해 보면서 처음에 설정한 setUsePersist(true)가 올바른 방식임을 알게 되었다. 제대로 된 사용 방식을 이해하기 위해 정리해 보고자 한다. 일단 나는 Spring Batch의 Writer를 JpaItemWriter를 사용해서 처리했다.setUsePersist의 설정에 따라 “pe..
Spring Batch란Spring Batch는 대용량 일괄처리의 편의를 위해 설계된 배치 프레임워크입니다.Spring의 특성을 그대로 가져왔기 때문에, DI, AOP, 서비스 추상화 등 Spring 프레임워크의 3대 요소를 모두 사용할 수 있습니다. 사용하는 경우대용량의 비즈니스 데이터를 복잡한 작업으로 처리해야 하는 경우특정한 시점에 스케쥴러를 통해 자동화된 작업이 필요한 경우대용량의 데이터의 포맷을 변경, 유효성 검사 등의 작업을 트랜잭션 안에서 처리 후 기록해야 하는 경우저는 Spring Batch를 통해 데이터 마이그레이션 처리와 스케쥴러 용도로 사용했습니다.! 최적화 및 파티셔닝 기술을 통해 대용량 및 고성능 일괄 작업을 가능하게 하는 기능을 제공합니다. 배치 애플리케이션은 다음의 조건을 만족..
Querydsl 사용한 이유querydsl을 사용하여 동적 정렬을 하면 다음과 같은 장점이 있습니다.컴파일 시점에서 오류가 발생하여 오류를 찾기 쉽다.BooleanExpression을 통해 여러 개의 조건문을 가독성 있게 작성할 수 있고 null인 경우 무시하여 조건문을 처리할 수 있다.querydsl 쿼리문을 작성할 때 파라미터 바인딩이 자동으로 처리되어 조건문을 작성할 때 편리합니다. 제가 실습한 동적 정렬 기능은 2가지 이상의 정렬을 처리했습니다.예를 들어 쇼핑몰이라고 생각하겠습니다. 1. "카테고리"를 선택하여 먼저 생성되거나 나중에 생성된 카테고리 순으로 정렬하여 조회합니다.2. "가격"을 입력받아 해당 가격보다 싸거나 비싼 가격의 상품을 정렬하여 조회합니다. Controller.class먼저 ..
유튜브 "메타코딩" 강의를 학습하고 정리 목적으로 작성하였습니다.https://www.youtube.com/watch?v=o6t2Q017J-s&list=PL93mKxaRDidFH5gRwkDX5pQxtp0iv3guf&index=4 Reactive Programming 배경 이해하기상황 설명A가 현재 시간이 궁금하여 B에게 몇 시인지 물어본다.B에게 응답을 받을 때까지 멍 때리는 시간, 즉 죽는 시간(아무것도 못하는 시간)이 발생한다.B는 시간을 알려주기 위해서 시간을 알고 있는 C에게 다시 몇 시인지 물어본다.B 또한 C에게 응답을 받을 때까지 죽는 시간이 발생한다. 동기 통신의 문제점A, B 입장에서 요청을 받기 전까지 죽는 시간 동안 다른 작업을 할 수 없는 문제가 있습니다.응답을 기다리는 동안 계속해..