본문 바로가기
  • Code Smell

WebFlux2

[Spring] 파라미터 바인딩을 해주는 HandlerMethodArgumentResolver (Webflux Version) 파라미터 바인딩을 해주는 HandlerMethodArgumentResolver (Webflux Version) 예제는 mvc 포스팅과 동일합니다. 모델과 서비스는 동일하게 되어있다고 간주하고 진행합니다. webflux에서 다른부분만 따로 포스팅 합니다. MVC 포스팅 먼저 webflux 에는 HandlerInterceptor가 존재하지 않습니다. 설계 컨셉에 맞지 않아 Interceptor의 역할을 WebFilter에 등록해주어야 합니다. 또한 Webflux에서는 WebFilter 뿐만 아니라 HandlerFilterFunction 으로 RouterFunction의 endpoint 별로 부분적으로 필터 제한이 가능하게 하는 추상체가 있습니다. 하는 역할은 WebFilter와 동일하지만, WebFilter.. 2022. 6. 20.
[Spring Webflux] 대용량 List 병렬 처리 Spring webflux 대용량 List 처리 Mono와 Flux의 back-pressure를 이용한 publish, subscribe 를 이용하는 방법 외에 이미 만들어진 대용량 리스트를 병렬로 처리하고 싶은 경우가 있습니다. 이런 경우 ThreadPoolExecutor 등을 이용하여 처리 할 수 있겠습니다만, Config를 추가적으로 설정해야 하고, 실제로 사용하지 않는다 하여도 ThreadPool이 유지되어야 하기 때문에 사용하지 않는 자원이 낭비 될 수 있습니다. 예를들어 어떤 List의 사이즈가 10000개인데, 각 데이터에 대해 무엇인가 작업을 하고 싶은 경우 (예를들어 restTemplate으로 request 한다거나, DB에서 조회를 한다거나) 사용할 수 있습니다. asyncRestTem.. 2021. 6. 25.