Skip to content

Spring WebFlux

非阻塞、响应式 Web 框架。

主要组件

主要的配置类型,可在 Spring 容器中获取。

Bean nameBean typeCountDescription
<any>WebExceptionHandler0..N异常处理
<any>WebFilter0..N过滤器,形成调用链
webHandlerWebHandler1核心,用来处理请求
webSessionManagerWebSessionManager0..1WebSession
serverCodecConfigurerServerCodecConfigurer0..1请求数据编码,默认 ServerCodecConfigurer.create()
forwardedHeaderTransformerForwardedHeaderTransformer0..1通过请求头进行转发,默认没有

DataBufferLimitException

当网关或 WebFlux 组件聚合较大的请求/响应体时,可能出现 DataBufferLimitException: Exceeded limit on max bytes to buffer。可以按实际报文上限调整内存缓冲区:

yaml
spring:
  codec:
    max-in-memory-size: 1MB

不要无上限增大该值;对于大文件或持续数据流,应改用流式处理,并在网关层限制请求体大小。