spring batch 에서 chunk oriented 방식을 이용해 로직을 작성하다보면 reader-writer 쌍이 필요해진다. 이때 JPA 를 사용하고 있다면 JpaPagingItemReader 와 JpaItemWriter 를 많이 이용하게 될텐데 이때 writer 에서 저장하는게 신규 엔티티라면 문제가 없지만 기존 엔티티의 업데이트라면 원치않는 select 쿼리가 날아가는걸 경험할 수 있다. public Step chunkStep1() { return stepBuilderFactory.get("chunkStep1") .chunk(500) .reader(chunkReader()) .processor(chunkProcessor()) .writer(chunkWriter()) .build(); } @Be..
spring batch 를 이용하면 JobBuilderFactory, StepBuilderFactory 를 이용해 코드를 작성하게 된다. 이때 factory 가 제공해주는 다양한 속성들이 있는데, 나같은 경우 자동완성으로 뜨긴뜨는데 뭐하는건지 명확히 모르고 그냥 사용하던 것만 사용하고 있었다. 이것들을 한번 정리해본다. preventRestart spring batch 는 job name 과 job parameters 를 이용해 job 인스턴스를 식별한다. job 이 실패했을경우 동일한 식별정보로 job 실행요청이 들어오면 실패한 step 부터 job 을 실행하게되는데 preventRestart 가 설정되어있으면 예외를 일으켜 잡이 다시 실행되는걸 막는다. allowStartIfComplete A job..
이전에 spring cloud config server/client 를 설정하는 포스팅을 올렸었다. ( multifrontgarden.tistory.com/236 multifrontgarden.tistory.com/237 ) server 를 설정하는 부분은 달라진게 없는데 spring boot 2.4 로 올라오면서 client 설정 부분이 좀 달라졌다. 이를 알아보자. 1. spring boot 2.4 방식 사용 먼저 2.4 이전에는 client 에 bootstrap.yml(또는 properties) 파일이 필요했다. 그래서 서버 정보를 입력해두면 라이프사이클 상 application.yml 보다 bootstrap.yml 을 먼저 읽어 config server 에 정의돼있는 프로퍼티들을 읽어보게끔 했었다..
- Total
- Today
- Yesterday
- MySQL
- code
- mariadb
- Jackson
- Git
- backend개발환경
- frontend개발환경
- 정규표현식
- java8
- TEST
- OOP
- DesignPattern
- go-core
- java
- toby
- JPA
- Design Pattern
- frontcode
- Spring
- JavaScript Core
- generics
- EffectiveJava
- db
- servlet
- spring cloud
- programming
- javascript
- Kotlin
- clean code
- http
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |