개요 이번에는 Spring Batch에서 작업의 흐름을 설정할 때 사용하는 Flow, Split을 학습하고 프로젝트에 적용해 보겠습니다. Flow Flow는 Spring Batch에서 작업 흐름을 정하는데 사용됩니다. 작업의 단계인 Step을 그룹화하여 복잡한 작업 흐름을 생성할 수 있습니다. Flow는 Step을 순차적으로 실행되게 하며 필요한 경우 조건부로 실행 흐름을 제어 할 수 있습니다. 예를 들어, 작업이 실패한 경우 다른 단계로 이동하게 하거나 특정 조건이 충족되면 다음 단계를 실행하게 하는 등 여러 조거분 실행 흐름을 있습니다. Flow 예시 @Bean public Flow userUpdateFlow() { return new FlowBuilder("userUpdateFlow") .start..
Spring Batch 병렬 처리 Spring Batch는 대용량 데이터를 처리하는 프레임워크 입니다. 병렬 처리는 한 번에 여러 작업을 동시에 실행하여 작업을 분산시키는 방법이며 성능 향상을 위한 중요한 기능 중 하나 입니다. 이번에는 TaskExecutor를 사용하여 step 내부를 Chunk 단위로 병렬 처리한 경험을 기록하려 합니다. 스레드 풀 설정 Spring Batch 병렬 처리를 위해 스레드 풀 설정을 진행합니다. @Bean public TaskExecutor taskExecutor() { ThreadPoolTaskExecutor taskExecutor = new ThreadPoolTaskExecutor(); taskExecutor.setCorePoolSize(4); // 코어 스레드 개수 ..