【问题标题】:spring boot 2.0 listening on multiple portsspring boot 2.0 监听多个端口
【发布时间】: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

所以我正在寻找一种在多个端口上接受连接的方法。我该怎么做?

【问题讨论】:

    标签: spring tomcat spring-boot


    【解决方案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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-04
      • 2012-12-29
      • 1970-01-01
      • 2012-03-27
      • 1970-01-01
      • 2019-01-23
      相关资源
      最近更新 更多