2017-04-18 94 views
3

我试图在新的Spring Boot App中使用WebFlux反应类型。我使用了https://start.spring.io的initializr并选择了2.0.0-SNAPSHOT版本。我添加了Web响应依赖项,并且我所做的所有工作都很棒。这是一个非常可靠的POC,目标是如何利用这些类型来实现我们API的现代化,为此,我们计划慢慢地替换阻塞和/或同步过程的每个部分,并将其替换为非阻塞替代实现。在嵌入式Tomcat中使用Spring Boot Weblfux

我遇到的问题是,当我尝试将我的POC发展成更类似于我们在生产中的服务时,许多事情看起来并不奏效。现在我明白webflux还不是GA,而且我不应该期望所有其他春季项目都能提供充分的反应支持。不过我记得webflux仍然被称为web-reactive,你可以在undertow/jetty/netty/tomcat/etc上运行,但现在我使用webflux starter,一切默认为netty,并且我没有看到文档调用了解如何将其更改为我们其他服务当前使用的嵌入式tomcat。

是否仍然可以将spring-boot-starter-webflux与其他应用程序容器一起使用,或者现在是否需要手动引导webflux以使用netty以外的其他功能?

回答

4

您可以从spring-boot-starter-webflux依赖关系中排除spring-boot-starter-reactor-netty,并使用spring-boot-starter-tomcatspring-boot-starter-undertowspring-boot-starter-jetty代替。

+0

这仍然有效吗?我最终会丢失类,例如'引发:java.lang.NoClassDefFoundError:io/netty/buffer/Unpooled' –

+0

应该是。你可以在https://github.com/spring-projects/spring-boot/issues上用完整的堆栈跟踪创建一个问题吗? –

+0

参见:https://github.com/spring-projects/spring-boot/issues/9689 –

相关问题