spring boot 2.0 监听多个端口
Posted
技术标签:
【中文标题】spring boot 2.0 监听多个端口【英文标题】:spring boot 2.0 listening on multiple ports 【发布时间】:2018-05-13 05:38:45 【问题描述】:我需要在嵌入式 tomcat 中监听 2 个端口 - 比如说 8443 (https) 和 8081 (http)。
使用 spring boot 1.5.3.RELEASE
我做了类似的事情:
@Bean
public EmbeddedServletContainerCustomizer containerCustomizer()
return new EmbeddedServletContainerCustomizer()
@Override
public void customize(ConfigurableEmbeddedServletContainer container)
if (container instanceof TomcatEmbeddedServletContainerFactory)
TomcatEmbeddedServletContainerFactory containerFactory =
(TomcatEmbeddedServletContainerFactory) container;
Connector connector = new Connector(TomcatEmbeddedServletContainerFactory.DEFAULT_PROTOCOL);
connector.setPort(httpPort);
containerFactory.addAdditionalTomcatConnectors(connector);
;
而且很好。现在我正在尝试使用spring-boot-starter-parent
2.0.0.M6
并且找不到以下类:
org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer
org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer
org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory
所以我正在寻找一种在多个端口上接受连接的方法。我该怎么做?
【问题讨论】:
【参考方案1】:Spring Boot 2.0.0 M1 release notes 声明:
嵌入式容器包结构已经重构 广泛地。 EmbeddedServletContainer 已重命名为 WebServer 并且 org.springframework.boot.context.embedded 包已经 重新定位到 org.springframework.boot.web.embedded。例如,如果 您正在使用自定义嵌入式 Tomcat 容器 TomcatEmbeddedServletContainerFactory 回调接口,你应该 现在使用 TomcatServletWebServerFactory。
来自 Spring Boot 源代码,以 commit 67556ba8ea 开头:
org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer
已移至org.springframework.boot.web.servlet.server.ConfigurableServletWebServerFactory
org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer
已移至org.springframework.boot.web.server.WebServerFactoryCustomizer
org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory
已移至 org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory
【讨论】:
以上是关于spring boot 2.0 监听多个端口的主要内容,如果未能解决你的问题,请参考以下文章
在 Spring Boot 中创建 PROXY 服务,监听多个端口,并将 GET 请求重定向到新 URL
Spring Boot 2.0:Spring Boot 开源软件都有哪些?(转)