我需要在嵌入式tomcat中侦听2个端口-可以说8443(https)和8081(http)。
使用Spring靴子,1.5.3.RELEASE我做了类似的事情:
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并且找不到以下类:
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
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.web.servlet.server.ConfigurableServletWebServerFactory
org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer被搬到 org.springframework.boot.web.server.WebServerFactoryCustomizer
org.springframework.boot.web.server.WebServerFactoryCustomizer
org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory 被搬到 org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory
org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory