8.2.2. 嵌入式反应式服务器支持
Spring Boot 支持以下嵌入式反应式 Web 服务器:Reactor Netty、Tomcat、Jetty 和 Undertow。大多数开发人员使用适当的“Starter”来获取完全配置的实例。默认情况下,嵌入式服务器在端口 8080 上侦听 HTTP 请求。
定制反应式服务器
常见的反应式 Web 服务器设置可以使用 SpringEnvironment
属性进行配置。通常,您可以在您的application.properties
或application.yaml
文件中定义属性。
常见的服务器设置包括:
网络设置:传入 HTTP 请求的侦听端口 (
server.port
)、要绑定的接口地址 (server.address
) 等。错误管理:错误页面的位置(
server.error.path
)等。
Spring Boot 尝试尽可能多地公开通用设置,但这并不总是可行。对于这些情况,专用命名空间(例如server.netty.*
提供特定于服务器的定制)。
请参阅
ServerProperties
课程以获取完整列表。
程序化定制
如果您需要以编程方式配置反应式 Web 服务器,您可以注册一个实现 WebServerFactoryCustomizer
接口的 Spring bean。 WebServerFactoryCustomizer
提供对 ConfigurableReactiveWebServerFactory
的访问,其中包括许多自定义 setter 方法。以下示例显示以编程方式设置端口:
JettyReactiveWebServerFactory
、NettyReactiveWebServerFactory
、TomcatReactiveWebServerFactory
和UndertowReactiveWebServerFactory
是它们的专用变体,ConfigurableReactiveWebServerFactory
分别为 Jetty、Reactor Netty、Tomcat 和 Undertow 提供了额外的自定义 setter 方法。以下示例展示了如何进行自定义NettyReactiveWebServerFactory
以提供对 Reactor Netty 特定配置选项的访问:
直接自定义 ConfigurableReactiveWebServerFactory
对于需要从ReactiveWebServerFactory
扩展的更高级用例,您可以自己公开此类类型的 bean。
为许多配置选项提供了设置器。如果您需要做一些更奇特的事情,还提供了几个受保护的方法“挂钩”。详细信息请参见源代码文档。
自动配置的定制器仍然应用于您的定制工厂,因此请谨慎使用该选项。
最后更新于