HttpHandler 생성과 동작

Spring Reactive Stack/Webflux 2024. 3. 15. 00:16

이전 포스팅에서 Netty 서버를 구동하기 위해 .. Spring 은 project reactor 의 Netty, Reactor Netty 를 의존하고 Reactor Netty 의 HttpServer 를 생성하기 위해 HttpServer 에는 HttpServer::handler 메서드가 있는데 Spring 에서는 HttpServer::handler 의 파라미터(함수형 인터페이스)에 사용할 구현체를 ReactorHttpHandlerAdapter 로 만들어 놨다. 그리고.. Spring 의 ReactorHttpHandlerAdapter 를 생성하기 위해서는 HttpHandler 를 주입받아야 하는 것을 확인했다. 이번 포스팅에서는 HttpHandler 의 생성과 동작에 대해 다뤄보겠다. HttpHandler..

Article Thumbnail
WebHandler 와 Spring

Spring Reactive Stack/Webflux 2024. 3. 10. 16:59

Spring 이 WebHandler 의 구현체인 DispatcherHandler(front handler) 를 등록하는 과정을 알아보자. spring boot autoconfigure 에서 자동 구성(Auto Configuration) 기능에 의해 동작하는 HttpHandlerAutoConfiguration 이다. 자동 구성 조건에 따라 HttpHandler 를 빈으로 등록하고 있는 것을 알 수 있다. HttpHandlerAutoConfiguration 에서 HttpHandler 를 생성할 때 호출하는 WebHttpHandlerBuilder::applicationContext 메서드 코드의 일부이다. Spring container 에서 WEB_HANDLER_BEAN_NAME("webHandler") 의 ..

Article Thumbnail
WebHandler 와 Netty 의 관계

Spring Reactive Stack/Webflux 2024. 3. 9. 00:21

WebHandler 에 대해 알아보겠다. WebHandler 는 .. Spring 5 부터 제공하는 web request 를 처리하는데 사용할 수 있는 인터페이스이다. 보통 Spring Reactive stack 에서 사용된다. Project Reactor 의 Reactor 에 의존한다. (Mono) 파라미터로 ServerWebExchange 는.. ServerHttpRequest, ServerHttpResponse 등을 얻을 수 있는 메서드를 제공하는 인터페이스이다. 즉, Servlet stack 의 Servlet, HttpServletRequest, HttpServletResponse 등의 역할과 유사하다고 볼 수 있다.. Spring Webflux 에서는 front handler 로.. WebHan..

Article Thumbnail