스프링 배치를 개발하다보면 메타데이터 테이블을 다루게 되고 그중에 한 예로 BATCH_JOB_EXECUTION 테이블은 아래와 같이 구성되어 있습니다. 필드 중에 STATUS, EXIT_CODE 두개의 필드가 존재하는데요. (BATCH_STEP_EXECUTION 테이블에도 동일하게 두개의 필드가 존재합니다) STATUS와 EXIT_CODE가 배치 실행시 사용되는 값에 어떤 차이가 있는지에 대해 궁금증이 생겼습니다. 그래서 이번에는 STATUS, EXIT_CODE 두개의 필드에 대해 공부해보겠습니다. STATUS 란? STATUS는 배치의 실행 상태를 나타내는 값입니다. 주로 배치가 실행 중인지, 완료되었는지를 나타냅니다. 스프링 배치에서는 BatchStatus라는 열거형 클래스를 통해 값을 다루고 있는데..
스프링 배치에서는 메타 데이터 테이블을 필수로 지정해 두었습니다. 그래서 스프링 배치를 실행할려면 메타 데이터 테이블을 생성해줘야 하는데요. 어떤 데이터들을 저장하길래 스프링 배치에서 필수로 지정하였을까요?? 스프링 배치의 메타 데이터에서는 아래와 같은 다양한 배치 어플리케이션의 정보를 얻을 수 있습니다. 이전에 실행한 Job이 무엇인지 최근 실패한 Job의 Batch Parameter가 무엇이었는지 실패한 Job을 다시 실행한다면 어디서 부터 시작하면 될지 만약 메타 데이터를 저장하고 있지 않다면 최근에 실행한 배치 Job이 어느지점에서 실패하였는지 알기가 어렵고 이러한 배치 정보를 얻기 위해 로깅 시스템을 개발자가 직접 구현해야 합니다. 배치의 주요 비즈니스 로직구현보다 부가적인 로깅작업구현에 더 많..
- Total
- Today
- Yesterday
- Stream
- autoconfigure
- trailing comma
- test
- A레코드
- Collection
- IntelliJ
- ExitStatus
- 시나리오 테스트
- datasource
- Spring Batch
- 클린 아키텍처
- java
- mockito-kotlin
- JUnit5
- spring data jpa
- assertj
- asSequence
- meta-data
- BatchStatus
- kotlin
- Parameterized
- scenario test
- Mockito
- Spring
- WrongTypeOfReturnValue
- mockK
- GSLB
- prinicipal
- AWS INDUSTRY WEEK
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |