doc: 阅读webflux文档

This commit is contained in:
asahi
2025-03-11 13:00:50 +08:00
parent d44fd7921f
commit 64d8c576ab

View File

@@ -305,3 +305,18 @@ UrlHandlerFilter urlHandlerFilter = UrlHandlerFilter
##### Appenders ##### Appenders
`slf4j``log4j`等日志库都提供异步logger用于避免阻塞。使用异步logger会存在部分缺点例如`丢弃无法排队的异步消息`。但是,其仍然是目前非阻塞框架的最佳选择。 `slf4j``log4j`等日志库都提供异步logger用于避免阻塞。使用异步logger会存在部分缺点例如`丢弃无法排队的异步消息`。但是,其仍然是目前非阻塞框架的最佳选择。
## DispatcherHandler
和spring MVC类似spring webflux同样按照`font controller pattern`进行设计,包含一个`central WebHandler`,即`DispatcherHandler`
Dispathcer提供了一个共享的请求处理算法将实际的处理逻辑委托给其他可配置的组件。
`DispatcherHandler`通过spring配置来发现委托的组件。`DispatcherHandler`其本身也是一个spring bean并且实现了`ApplicationContextAware`接口可以访问spring上下文。
如果`Dispatcher`的bean name为`webHandler`,那么其会被`WebHttpHandlerBuilder`发现,并且将其放入`request-processing chain`中。
webflux应用中包含的spring configuration通常包括
- bean name为`webHandler``DispatcherHandler`
- `WebFilter``WebExceptionHandler` beans
- 被委托给`webHandler`的beans
- 其他