본문 바로가기

SpringBoot24

Spring Batch MultiThread 병렬 처리 시 특정 item이 n번 Process되는 이슈와 이유 Spring Batch Multi Thread를 통하여 작업 처리 도중 이상하게 특정 item들을 ItemProcessor단계에서 여러 번 호출하여 처리하는 이슈가 발생하였다. 이에 대한 원인과 해결책을 찾아보도록 하였다. 우선 전체 코드를 확인해본다.@Slf4j@Configuration@RequiredArgsConstructorpublic class FreeSubNotiRegBatchMultiThreadConfig { private final EntityManagerFactory entityManagerFactory; private final int chunkSize=4; private final FootBallOpenFeignClient footBallOpenFeignClient; .. 2025. 5. 19.
Spring Batch Partitioning에서 Job이 끝나지 않는다면 의심해보자 Spring Batch Partitioning을 통한 병렬 처리 작업 시 특정 Worker Step은 정상 종료되었으나 그 외 다른 Worker Step은 종료되지 않아 job이 끝나지 않는 케이스가 발생하였다.또한 어떠한 Exception도 로그로 찍고 있지 않고 있어 원인을 찾는데 애를 먹었다. 전체 코드(필요코드 외 생략)@Slf4j@Configuration@RequiredArgsConstructorpublic class FreeSubNotiBatchPartitionConfig { private final EntityManagerFactory entityManagerFactory; private final int chunkSize=5; private final TaskExecutor.. 2025. 1. 5.
Spring Batch MultiThread 병렬 처리 시 LazyInitializationException 발생 원인과 해결 과정(1) 배경 상황 Spring Batch MultiThread 환경에서 ItemReader에서는 @OneToMany(fetch = FetchType.LAZY)로 설정된 단방향 연관관계의 "One" 엔티티만 조회했습니다.ItemProcessor 단계에서 해당 연관 엔티티의 데이터에 접근하려 하자 LazyInitializationException 발생하였습니다.# 기본적인 chunk 기반 Spring Batch 프로세스를 이해하고 있어야 함## ItemReader의 구현체로 JpaPagingItemReader 사용## Single Thread로 작업 처리 시 해당 예외는 발생하지 않았으나, MultiThread 로 처리 시에만 발생 우선 LazyInitializationException은 어떤 오류인가?영속성 컨.. 2024. 12. 19.
SpringSecurity 순환 참조(circular references) 발생 스프링 순환 참조란?서로 다른 빈들이 서로 참조를 맞물리게 주입되면서 발생하는 현상스프링은 순환 참조 관계에 있는 빈들 중 어떤 빈을 먼저 생성해야 할지 결정할 수 없게 되는 상황이다.  문제 발생시큐리티를 적용하고 비즈니스 로직이 실행이 아닌 애플리케이션 구동 시 아래와 같은 에러가 발생하였다.The dependencies of some of the beans in the application context form a cycle:┌─────┐| securityConfig defined in file [C:\Users\sungh\IdeaProjects\football\build\classes\java\main\com\sunghyun\football\config\SecurityConfig.class]↑.. 2024. 9. 11.