(Spring Batch) 병렬 처리 방법 모음
Spring Batch에서 지원하는 배치 병렬 처리 방식 AsyncItemProcessor / AsyncItemWriter → 한 step 내에서 processor만 병렬 수행해야 할 때 Multi-threaded Step → 한 step 내에서 reader, processor, writer를 chunk 단위로 병렬 수행해야 할 때 Pa...
Spring Batch에서 지원하는 배치 병렬 처리 방식 AsyncItemProcessor / AsyncItemWriter → 한 step 내에서 processor만 병렬 수행해야 할 때 Multi-threaded Step → 한 step 내에서 reader, processor, writer를 chunk 단위로 병렬 수행해야 할 때 Pa...
L4 switch HealthCheck 보통 L7 H/C(HTTP)를 사용하고, WAS에 /monitor/l7check 같은 Controller를 둔다. 방법 1) WAS 내리는 방법 WAS가 graceful shutdown 지원해야 함. (일단 받은 요청은 모두 처리하고 나서 종료해야 하니까) WAS가 내려가...
대역의 필요성 테스트를 작성하다 보면 다양한 사유로 대역이 필요해지게 됩니다. 테스트 수행이 외부 의존성에 영향을 주면 안되는 경우 e.g., withdraw 요청이 포함된 기능을 테스트 할 때, 실제로 withdraw 요청이 API 서버에 전달되어서는 안됨. 테스트 내에서 같은 요청을 보냈을 때, 외부 ...
JsonFileItemWriter java docs code [ {json object}, {json object}, {json object} ] 형식으로 만들 때. 근데 spring-batch-core 4.1 부터 지원이라… 구버전에는 없다. 구버전에서는? 구버전에서는 FlatFileItemWriter를 쓰거나 직접 It...
main docs 포스팅 설명이 부족하다면 검색 하기 전에 아래 링크에서 추가적인 정보를 찾아볼 것. react 공식 docs가 워낙 잘 되어 있어서, 이 것만 다 읽어도 웬만한 상황에서는 충분하다. github.com/umbum/react-basic-hooks/blob/master/docs/README.md https://ko.reac...
Proxy / VPN X-Real-IP는 바로 직전 client의 IP를 나타낸다. proxy\_set\_header X-Real-IP $remote\_addr; 설정에서 $remote\_addr이, nginx가 수신한 client IP를 의미한다. User - Nginx - Tomcat 일 때, X-Real-IP는 User IP 가 된다. Us...
https://www.baeldung.com/spring-events ApplicationEventPublisher::publishEvent로 pub 하고 @EventListener로 event 받아 처리하면 된다. 단 여기서 주의해야 할점! listener가 이벤트를 수신하는 것이 왠지 비동기로 이루어질 것 같지만, 기본적으로 동기식이...
취급 대상 품목(Good) 은 STONE, ALCOHOL, COMPUTER, SHIP, SUSHI 5가지 이고, 이 중 일부는 목적지(Destination) SEOUL, 일부는 BUSAN으로 보내야 한다. 그리고 목적지에 따라, 해당 목적지 로 보내는 품목 리스트를 구할 수 있어야 한다. 그러면 아래와 같이 구현 할 수 있는데… @Ge...
https://kotlinlang.org/docs/exception-handling.html Job과 SupervisorJob / coroutineScope와 supervisorScope의 예외 전파 차이 Job과 coroutineScope의 동작 코루틴에서 발생한 exception이 코루틴 내부에서 catch 되지 않고 바깥으로 나갔다면, ...
그림1 Controller -> Service 호출 시, Service의 메서드 파라미터 설계 @PostMapping("/some-path") public ResponseEntity<...> foo(@RequestBody @Valid FooControllerRequest request) { varService.doSomet...