Spring Boot 2.0在多个端口上侦听 [英] spring boot 2.0 listening on multiple ports

查看:567
本文介绍了Spring Boot 2.0在多个端口上侦听的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要在嵌入式tomcat中监听2个端口-比方说8443(https)和8081(http).

I need to have 2 ports listening in embedded tomcat - lets say 8443 (https) and 8081 (http).

使用弹簧靴1.5.3.RELEASE时,我做了类似的事情:

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);
            }
        }
    };
}

很好.现在,我正在尝试使用spring-boot-starter-parent 2.0.0.M6,并且找不到以下类:

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

Spring Boot 2.0.0 M1 release notes state that:

嵌入式容器的包装结构已经相当重构 广泛地. EmbeddedServletContainer已重命名为WebServer 并且org.springframework.boot.context.embedded包已经被 重新定位到org.springframework.boot.web.embedded.例如,如果 您正在使用来定制嵌入式Tomcat容器 TomcatEmbeddedServletContainerFactory回调接口,应该 现在使用TomcatServletWebServerFactory.

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.

从Spring Boot源代码开始,从commit 67556ba8ea 开始:

From the Spring Boot source code, starting with 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在多个端口上侦听的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆