Spring Batch
Spring Batch 통합 테스트 환경 구축하기
Spring Batch 통합 테스트 환경 구축하기
2022.08.03서론 앞으로 팀내 스프링 배치를 적극 사용하기 위해, 미리 테스트 환경 구축하는 작업을 진행했던 내용에 대해서 공유해보려고 합니다. 작업 하기 전 스프링 배치 테스트는 어떤식으로 하는게 좋을지 검색을 해봤습니다. 이쉽게도 스프링 배치는 아티클이 별로 없기 때문에 테스트에 대해 집중적으로 다루고 있는 글도 드물었습니다. AS-IS 우선 기존에 제가 테스틀 작성했던 방법입니다.(과거 배치 테스트 블로그 글에서 소개했던 방법을 그대로 사용했었습니다) @SpringBatchTest @SpringBootTest(classes = {GetProductDtoJobConfig.class, TestBatchConfig.class}) class GetProductResponseJobConfigTest { @Autowire..
스프링 배치에서 JobParameters을 더 편하게 사용하는 방법
스프링 배치에서 JobParameters을 더 편하게 사용하는 방법
2022.06.23스프링 배치에서 JobPameter를 사용할때 외부에서 주입받아서 사용하는 경우가 많다. 대표적으로 "날짜"가 있다. 하지만 SpringBatch에서는 LocalDateTime을 지원하지 않아서 다음과 같이 타입 변환 작업이 이루어져야한다. @Bean @StepScope public ItemReader simpleReader( @Value("#{jobParameters[requestDate]}") String requestDate ) { LocalDate date = LocalDate.parse(requestDate, DateTimeFormatter.ISO_DATE); // yyyy-MM-dd log.info(">>> date = {}", date); return new ListItemReader(Lis..
[Spring Batch] 하나의 Step에서 여러개의 ItemWriter를 사용하는 방법
[Spring Batch] 하나의 Step에서 여러개의 ItemWriter를 사용하는 방법
2021.08.04신규 도메인에서 배치 작업을 하는 도중 해결했던 문제 경험에 대해서 공유하고자 합니다. 예시) 배치로 일련의 작업을 수행한 뒤 엔티티를 JpaItemWriter를 통해 저장 / 변경하고, JdbcBatchItemWriter를 이용해서 연관 관계가 없는 단순 데이터용 테이블을 저장 / 변경한다는 가정을 해보겠습니다. 처음에 생각한건 하나의 Job에다가, 두 개의 Step을 만드는 것이었는데, 하나의 Step에서 두 개의 ItemWriter를 사용할 방법이 없을까? 찾다보니 CompositeItemWriter를 발견했습니다. 예제를 참고할 만한 자료가 없었지만, 다행이게도 내부 구현이 복잡하지 않아서 직접 코드를 짜면서 실험해도 금방 만들 수 있었습니다. CompositeItemWriter는 여러개의 Ite..