spring batch 를 이용해 많은 batch job 을 만들지만 배치를 테스트하기란 쉽지않다. 하지만 배치도 분명한 하나의 애플리케이션인만큼 테스트 작성에 대한 욕구가 있었는데 그것들을 정리해보고자한다. 먼저 spring batch reference 에서 테스트 코드에 대해 가이드하고있는 부분이 있는데 가이드 문서가 불친절해 제대로 테스트를 작성하기 힘들었다. 실전 엔터프라이즈 애플리케이션에서는 해당 가이드대로 했을때 도저히 테스트를 구동할 수 없었고, 많은 삽질끝에 얻은 결론을 정리하려한다. # batch job 작성 @Configuration class SampleBatch( private val jobBuilderFactory: JobBuilderFactory, private val stepB..
spring batch 에서는 batch 메타 테이블을 이용해 배치 잡의 메타 데이터들을 관리해준다. job 의 실행 이력, 들어온 job parameters, 실행 결과 등을 말이다. 이 메타 테이블에 있는 정보를 이용해 spring batch 는 이전에 실행 이력이 있는 파라미터로 job 요청이 들어오면 job 실행을 중단할 수 있다. 하지만 이런식으로 job 실행을 막는건 여러모로 불편할때가 있다. 그래서 이를 무력화 하기위해 spring batch 는 기본 job parameters 에 유니크한 파라미터를 추가해주는 JobParametersIncrementer 라는 인터페이스를 제공한다. 그리고 이 인터페이스의 구현체인 RunIdIncrementer 클래스를 제공하고있다. https://githu..
- Total
- Today
- Yesterday
- java8
- OOP
- java
- mariadb
- generics
- JPA
- Spring
- DesignPattern
- go-core
- code
- servlet
- Kotlin
- db
- Jackson
- spring cloud
- javascript
- TEST
- toby
- EffectiveJava
- 정규표현식
- http
- Design Pattern
- JavaScript Core
- MySQL
- programming
- frontend개발환경
- backend개발환경
- Git
- frontcode
- clean code
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |