Spring Boot 2.0在多个端口上侦听

我需要在嵌入式tomcat中侦听2个端口-可以说8443(https)和8081(http)。

使用Spring靴子,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-parent2.0.0.M6并且找不到以下类:

org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer

org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer

org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory

因此,我正在寻找一种接受多个端口上的连接的方法。我怎样才能做到这一点?

回答:

Spring Boot 2.0.0 M1 发行说明指出:

嵌入式容器的包装结构已经进行了广泛的重构。EmbeddedServletContainer已重命名为WebServer,并且org.springframework.boot.context.embedded包已重定位到org.springframework.boot.web.embedded。例如,如果要使用TomcatEmbeddedServletContainerFactory回调接口自定义嵌入式Tomcat容器,则现在应使用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在多个端口上侦听 的全部内容, 来源链接: utcz.com/qa/398901.html

回到顶部