Spring Boot 2 中没有使用 Netty Server 和 Reactive starter

Netty Server isn't used in Spring Boot 2 with Reactive starter

我正在使用 Spring Boot 2 和反应式启动器开发反应式项目。我的问题是,当我启动应用程序时,它启动的是 Tomcat 服务器而不是 Netty。

这是我在 build.gradle 文件中的依赖项任务:

dependencies {
compile("org.springframework.boot:spring-boot-starter-actuator:${springBootVersion}")
compile("org.springframework.boot:spring-boot-starter-webflux:${springBootVersion}")
compile("org.springframework.boot:spring-boot-starter-hateoas:${springBootVersion}")
compile group: 'com.github.tomakehurst', name: 'wiremock', version: '2.15.0'
compile("ro.orange.omoney:lms-token-client:0.1.0-SNAPSHOT")
testCompile("org.springframework.boot:spring-boot-starter-test:${springBootVersion}")

}

你能告诉我为什么我会遇到这个问题吗? 谢谢!

您的项目依赖于 spring-boot-starter-hateoas,后者依赖于 spring-boot-starter-web,后者依赖于 spring-boot-starter-tomcat。最后的依赖导致 Tomcat 配置为 运行 应用程序。

通常,您必须明确排除 spring-boot-starter-web 才能绕过 Tomcat auto-configuration。

不过,在这种特殊情况下,我相信它不会有帮助,因为 spring-boot-starter-hateoas 项目尚不支持基于反应堆栈的网络(在 Spring Boot 2.0.0.RELEASE ).

目前看来要么是 HATEOAS 要么是响应式网络。

有关详细信息,请参阅