Spring Boot 2.0在多个端口上侦听
我需要在嵌入式tomcat中侦听2个端口-可以说8443(https)和8081(http)。
使用Spring靴子,1.5.3.RELEASE
我做了类似的事情:
@Beanpublic 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 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