I need to have 2 ports listening in embedded tomcat - lets say 8443 (https) and 8081 (http).
With spring boot 1.5.3.RELEASE
I did something like:
@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);
}
}
};
}
And it was fine. Now I'm trying to use spring-boot-starter-parent
2.0.0.M6
and the following classes cannot be found:
org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer
org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer
org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory
So I'm looking for a way to accept connections on multiple ports. How can I do that?
Spring Boot 2.0.0 M1 release notes state that:
the embedded containers package structure has been refactored quite extensively. EmbeddedServletContainer has been renamed to WebServer and the org.springframework.boot.context.embedded package has been relocated to org.springframework.boot.web.embedded. For instance, if you were customizing the embedded Tomcat container using the TomcatEmbeddedServletContainerFactory callback interface, you should now use TomcatServletWebServerFactory.
From the Spring Boot source code, starting with commit 67556ba8ea:
org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer
was moved to org.springframework.boot.web.servlet.server.ConfigurableServletWebServerFactory
org.springframework.boot.context.embedded.EmbeddedServletContainerCustomizer
was moved to org.springframework.boot.web.server.WebServerFactoryCustomizer
org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory
was moved to org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With