Spring WebFlux应用程序正在运行tomcat而不是Netty

问题描述 投票:0回答:2

我正在运行Spring Boot WebFlux应用程序,通常该应用程序运行在Netty Embedded服务器之上。相反,我正在运行一个tomcat实例,我试图将pomcat从我的pom中排除,但仍然遇到相同的问题。

所以我想通过运行Netty而不是Tomcat来解决此问题。

这是我的pom依赖项:

<dependencies>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-webflux</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>

    <dependency>
        <groupId>org.mapstruct</groupId>
        <artifactId>mapstruct</artifactId>
    </dependency>

    <dependency>
        <groupId>org.mapstruct</groupId>
        <artifactId>mapstruct-processor</artifactId>
    </dependency>

    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger2</artifactId>
    </dependency>

    <dependency>
        <groupId>io.springfox</groupId>
        <artifactId>springfox-swagger-ui</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>

    <dependency>
        <groupId>com.h2database</groupId>
        <artifactId>h2</artifactId>
        <scope>runtime</scope>
    </dependency>

    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
        <exclusions>
            <exclusion>
                <groupId>org.junit.vintage</groupId>
                <artifactId>junit-vintage-engine</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

    <dependency>
        <groupId>io.projectreactor</groupId>
        <artifactId>reactor-test</artifactId>
        <scope>test</scope>
    </dependency>

</dependencies>
<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>
java spring-boot netty spring-webflux
2个回答
1
投票

Springfox版本2.9.2不支持webflux。

包含webflux支持的Springfox 3.0.0可以作为快照使用,但是很快就会发布。

您可以在这里了解更多信息。

https://github.com/springfox/springfox/issues/2699


0
投票

如Thomas所言,springfox不支持webflux。

[我建议使用由OpenApi提供的springDoc实施,而不是SpringFox,后者仍然提供相同的UI,使用swagger 3并且还支持webflux。

    <dependency>
        <groupId>org.springdoc</groupId>
        <artifactId>springdoc-openapi-webflux-ui</artifactId>
        <version>1.2.33</version>
    </dependency>
© www.soinside.com 2019 - 2024. All rights reserved.