禁用 Springboot RSocket 项目的“默认”Netty 端口

Posted

技术标签:

【中文标题】禁用 Springboot RSocket 项目的“默认”Netty 端口【英文标题】:Disable the "default" Netty port for a Springboot RSocket project 【发布时间】:2021-03-19 05:11:45 【问题描述】:

请教关于 Springboot RSocket 项目的问题。

我正在构建一个仅使用 Springboot RSocket 的应用程序。

我不需要Webflux,项目只暴露RSocket @MessageMapping("someRoutes")。

但是,每次启动应用程序时,我都会看到:

2020-12-08 05:06:21.437  INFO [myservice,,] 26627 --- [           main] o.s.b.web.embedded.netty.NettyWebServer  : Netty started on port(s): 8080
2020-12-08 05:06:21.449  INFO [myservice,,] 26627 --- [           main] o.s.b.rsocket.netty.NettyRSocketServer   : Netty RSocket started on port(s): 7000

我可以问一下如何简单地禁用 Netty 吗? (也许来自 Webflux?)

它不会造成任何伤害等,有些人可能会说“忽略它或离开它”,但我想知道如何禁用它的技术性。

谢谢

【问题讨论】:

【参考方案1】:

认为这是答案How to prevent embedded netty server from starting with spring-boot-starter-webflux?

spring.main.web-application-type=none

https://docs.spring.io/spring-boot/docs/2.1.1.RELEASE/reference/html/howto-embedded-web-servers.html#howto-disable-web-server

虽然我还没有测试过,但其中大部分来自 Spring-Boot,默认情况下启动依赖项中包含的所有内容。

【讨论】:

spring.main.web-application-type=none

以上是关于禁用 Springboot RSocket 项目的“默认”Netty 端口的主要内容,如果未能解决你的问题,请参考以下文章

教你如何在Spring Boot中使用RSocket

Spring RSocket:基于服务注册发现的 RSocket 负载均衡

RSocket与Spring Security整合

开源 | RSocket Broker:阿里巴巴开源的基于 RSocket 协议的反应式程控消息交换系统

云原生实践之 RSocket 从入门到落地:Servlet vs RSocket

云原生实践之 RSocket 从入门到落地:Servlet vs RSocket