Jetty 12为何新增JettyReactiveWebServerFactory?Jetty9已支持WebFlux响应式流
虽然Jetty 9已经支持WebFlux响应式流,但Jetty 12推出JettyReactiveWebServerFactory主要是基于以下几个核心原因:
适配Jetty 12的架构重构:Jetty 12进行了彻底的模块化架构重写,底层API(如
Server初始化、连接管理组件)和Jetty 9差异极大,旧的响应式适配逻辑无法兼容新架构。新的工厂类专门针对Jetty 12的新API设计,确保Spring WebFlux能正确对接Jetty 12的非阻塞IO核心。跟进Jakarta EE 10规范:Jetty 12全面迁移到Jakarta EE 10规范,而Jetty 9仍基于传统Java EE API。
JettyReactiveWebServerFactory可以更好地适配Jakarta EE下的Servlet、WebSocket等组件与响应式流的整合,避免旧API带来的兼容性冲突。优化响应式场景的集成效率:Jetty 12针对响应式流做了针对性优化,包括更高效的背压处理、非阻塞资源调度等。新的工厂类直接封装了这些特性,让Spring Boot用户无需手动适配就能享受到Jetty 12的响应式性能提升,同时简化了自定义配置(如线程池、连接参数)的流程。
统一Spring Boot的服务器工厂体系:Spring Boot的Web服务器适配遵循统一的
WebServerFactory设计规范,Jetty 12作为新版本,需要对应的专属工厂类来融入这个体系,保证用户在切换Tomcat、Undertow、Jetty等服务器时,配置逻辑和使用体验保持一致。
内容的提问来源于stack exchange,提问作者yusen zhang

