存在spring-web时,Spring Reactive WebSocket无法启动

问题描述

我有一个使用spring-boot-starter-web的现有spring Web应用程序;我一直在计划将反应式引入此应用程序。对于我正在使用的新功能,我引入了Spring反应式Web套接字,并按照spring doc中的指定进行配置和编码。但不幸的是,它不起作用(步骤404)。 我尝试了一个示例应用程序,并且效果很好。 我使用此one作为示例应用程序。

我发现示例应用程序是在Netty而不是Tomcat上启动的。因此,我向其中添加了spring-boot-starter-web,使服务器可以在Tomcat中启动,并且获得与应用程序相同的404。 我也未成功添加TomcatRequestUpgradeStrategy。

我应该假设spring-web和spring-webflux相互冲突,应该回到常规的websocket吗?请告知。

解决方法

Spring表示,如果classpath中同时存在spring web和spring webflux;春季网络启动,反应式网络套接字将不会出现。 此处有更多详细信息:https://github.com/spring-projects/spring-boot/issues/23236

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...