본문 바로가기
728x90
반응형

spring/spring batch5

Spring Batch 5.0 마이그레이션 Spring Batch 5.0은 2022년 11월 16일에 출시되었습니다. 주요 변경 사항JDK 17 +Spring Batch 4는 JDK 8 이상, Spring Framework 5.x를 지원했는데,Spring Batch 5는 최소 버전으로 JDK 17, Spring 6을 기반으로합니다.dependency 버전업그레이드Spring Framework 6Spring Integration 6Spring Data 3Spring AMQP 3Spring for Apache Kafka 3Micrometer 1.10Java EE 기반의 API에서 Jakarta EE 9 이상을 기반으로 하여 패키지명이 javax 에서 jakarta로 변경되었습니다.기타`org.springframework:spring-jdbc`는 이제.. 2024. 5. 23.
[Spring Batch4] batch step에서 processor chaining하는 방법 다음과 같은 batch step이 존재할 때, processor를 추가하기 위해선 어떻게 해야 할까요?@Beanpublic Job ioSampleJob() { return this.jobBuilderFactory.get("ioSampleJob") .start(step1()) .build();}@Beanpublic Step step1() { return this.stepBuilderFactory.get("step1") .chunk(2) .reader(fooReader()) .processor(fooProcessor()) .writer(barWriter()) .build();}public class Foo {}public class Bar { public Bar(F.. 2022. 2. 4.
[Spring Batch] org.springframework.dao.EmptyResultDataAccessException: Item 0 of 500 did not update any rows Spring Batch 실행 시 아래와 같은 오류가 발생했습니다.org.springframework.dao.EmptyResultDataAccessException: Item 0 of 500 did not update any rows: [...] at org.mybatis.spring.batch.MyBatisBatchItemWriter.write(MyBatisBatchItemWriter.java:161) at org.springframework.batch.core.step.item.SimpleChunkProcessor.writeItems(SimpleChunkProcessor.java:193) at org.springframework.batch.core.step.item.SimpleChunk.. 2021. 11. 18.
[Spring Batch] step 중지/통과 하기 Step 실행 중일 때 다음 단계로 넘어가지 않고 중지하는 방법은 throw 하면 됩니다. public class PoisonPillItemProcessor implements ItemProcessor { @Override public T process(T item) throws Exception { if (isPoisonPill(item)) { throw new PoisonPillException("Poison pill detected: " + item); } return item; } } 이번 단계는 지나치고 다음 단계로 넘어가는 방법은 null을 리턴하면됩니다. public class PoisonPillItemProcessor implements ItemProcessor { @Override pub.. 2021. 10. 21.
[Spring Batch4] 배치 Test를 위한 Configuration - Spring Batch Test 공식 문서 (한국어 번역)​공식 문서에 나와있는 batch job의 end to end 테스트 예제는 다음과 같습니다.@SpringBatchTest@RunWith(SpringRunner.class) // 스프링 JUnit 기능을 사용하겠다는 표시@ContextConfiguration(classes = SimpleJobConfiguration.class) // ApplicationContext에 설정할 리소스 명시public class SimpleJobTest { @Autowired private JobLauncherTestUtils jobLauncherTestUtils; @Test public void simple_job_테스트() throw.. 2020. 10. 31.
728x90
반응형