Приложение Spring WebFlux под управлением Tomcat вместо Netty - PullRequest
0 голосов
/ 22 апреля 2020

Я запускаю приложение WebFlux с весенней загрузкой, обычно оно запускается поверх сервера Netty Embedded. Вместо этого я запускаю экземпляр tomcat, я пытался исключить tomcat из моего 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>

Ответы [ 2 ]

2 голосов
/ 22 апреля 2020

Как сказал Томас, springfox не поддерживает webflux.

Я бы порекомендовал использовать реализацию OpenApi, предоставляемую springDoc вместо SpringFox, которая все еще предоставляет тот же пользовательский интерфейс, использует swagger 3 и также поддерживает webflux.

    <dependency>
        <groupId>org.springdoc</groupId>
        <artifactId>springdoc-openapi-webflux-ui</artifactId>
        <version>1.2.33</version>
    </dependency>
2 голосов
/ 22 апреля 2020

Springfox версии 2.9.2 не поддерживает webflux.

Springfox 3.0.0, включающий поддержку webflux, доступен в виде моментального снимка, но скоро будет выпущен.

Вы можете прочитать больше об этом здесь.

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

...