1

我有一个使用 WebFlux 的反应式 Spring Boot 应用程序。我需要将它作为 WAR 文件部署到 Tomcat 8 容器中。

根据Spring Webflux 文档,似乎可以通过扩展AbstractReactiveWebInitializer类来做到这一点:

Servlet 3.1+ 容器:

要作为 WAR 部署到任何 Servlet 3.1+ 容器,您可以在 WAR 中扩展并包含 AbstractReactiveWebInitializer。该类使用 ServletHttpHandlerAdapter 包装一个 HttpHandler 并将其注册为 Servlet。

另一方面,Spring boot 文档静态内容创建 war 文件 指出这是不可能的,因为 Webflux 应用程序不依赖于 Servlet API:

Spring WebFlux 应用程序并不严格依赖 Servlet API,因此它们不能部署为 war 文件,也不能使用 src/main/webapp 目录。

我尝试使用 spring-boot-gradle-plugin 将应用程序打包为 WAR 文件,但是在将其部署到 Tomcat 8 时它没有任何效果。

有什么建议么?

4

0 回答 0