SpringBoot20 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 병렬 처리 시 ItemProcessor단에서 발생하는 LazyInitializationException 원인과 해결 과정 배경 상황 Spring Batch의 멀티스레드 환경에서 ItemReader에서는 @OneToMany(fetch = FetchType.LAZY)로 설정된 단방향 연관관계의 "One" 엔티티만 조회했습니다.ItemProcessor 단계에서 해당 연관 엔티티의 데이터에 접근하려 하자 LazyInitializationException 발생하였습니다.# 기본적인 chunk 기반 Spring Batch 프로세스를 이해하고 있어야 함## 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. 이전 1 2 3 4 5 다음