cafe

스프링 배치에서 무제한으로 작동하는데 왜그런가요? #QnA

고아수8361등록 날짜&시간2023.07.17

질문: 배치공부하는데 id가1인사람한테 결제내역을 2분마다 추가해주는건데 한번 들어갈때 똑같은값이 무제한으로 계속들어가는 오류가 생기네요.. spring batch 장인있으시면 도와주세요,,

@Bean
public ItemReader<User> reader() {
  return ()-> userService.findById(1L);
}

@Bean
public ItemProcessor<User, Payment> processor() {
  return user -> {
    ...
    return payment;
  };
}

@Bean
public ItemWriter<Payment> writer() {
  return payments -> {
    log.info("{}",payments.size());
    ...
  };
}


@Bean
public Step myStep(ItemReader<User> reader, ItemProcessor<User, Payment> processor, ItemWriter<Payment> writer) {
  return ...
}

@Bean
public Job myJob(Step myStep) {
  return ...
}

 

#QnA

등록된 샷 리스트
댓글 1
댓글 정렬방식 선택
  • 선택됨
  • 고아수8361작성자등록 날짜&시간2023.07.17

    첫댓글리더에서는 더이상 아이템을 가져올 수 없다는 의미로 null 을 리턴하는 방법이 있어요.
    원하는 동작을 하시려면 요래 바꿔 보심 될것 같아요 (테스트는 안해봤슴당)
    @Bean
    public ItemReader<User> reader() {
    User user = userService.findById(1L);
    return ListItemReader<User>(Arrays.asList(user));
    }
    (오챗방에서 직접 답변한 내용을 질문과 함께 옮깁니다.)

댓글 쓰기