doc: 阅读webflux文档
This commit is contained in:
@@ -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
|
||||||
|
- 其他
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user