Spring Boot 结合嵌入式Tomcat使用Sping Boot Weblfux

z9zf31ra  于 2022-12-13  发布在  Spring
关注(0)|答案(2)|浏览(216)

我正在尝试在一个新的Sping Boot 应用程序中使用WebFluxReact式类型。我在https://start.spring.io使用了initializer,并选择了2.0.0-SNAPSHOT版本。我添加了WebReact式依赖项,我所做的一切都很好。这是一个非常可靠的POC,目标是如何利用这些类型来现代化我们的API,为此,我们计划慢慢地替换阻塞和/或同步过程的每个部分并将其替换为非阻塞的替代实现。
我遇到的问题是,当我试图将我的POC发展成更类似于我们在生产中所拥有的服务时,许多东西似乎都不起作用。而且我不应该期望从所有其他的 Spring 项目中得到完全的React式支持。等等,但是现在我使用的是webflux启动器,所有的东西都默认为netty,我没有看到文档调用如何将其更改为我们其他服务当前使用的嵌入式tomcat。
是否仍然可以将spring-boot-starter-webflux与其他应用程序容器一起使用,或者我现在需要手动引导webflux才能与netty以外的其他应用程序一起使用?

9rbhqvlz

9rbhqvlz1#

您可以从spring-boot-starter-webflux相依性中排除spring-boot-starter-reactor-netty,而改用spring-boot-starter-tomcatspring-boot-starter-undertowspring-boot-starter-jetty

dldeef67

dldeef672#

如果您的目标是使用Tomcat服务器,那么没有必要排除spring-boot-starter-reactor-netty。添加spring boot starter tomcat将在Tomcat服务器中启动应用程序。

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-webflux</artifactId>
    <exclusions>
        <!-- Exclude the Netty dependency -->
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-reactor-netty</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<!-- Use Tomcat instead -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>

相关问题