doc: 阅读webflux文档
This commit is contained in:
@@ -305,3 +305,18 @@ UrlHandlerFilter urlHandlerFilter = UrlHandlerFilter
|
||||
##### Appenders
|
||||
`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