码迷,mamicode.com
首页 > 编程语言 > 详细

Springboot中如何启用多个监听端口

时间:2020-05-31 16:15:57      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:result   containe   nal   length   dde   记录   str   cat   return   

 

前段时间服务有这么个需求,web端的接口需要有web安全相关的整改,但是对内的接口并不需要。所以服务需要多个端口启动,在此记录下

Springboot中如何启用多个监听端口

@Configuration
public class EmbeddedTomcatConfiguration {
 
    @Value("${server.additionalPorts}")
    private String additionalPorts;
 
    @Bean
    public EmbeddedServletContainerFactory servletContainer() {
        TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory();
        Connector[] additionalConnectors = this.additionalConnector();
        if (additionalConnectors != null && additionalConnectors.length > 0) {
            tomcat.addAdditionalTomcatConnectors(additionalConnectors);
        }
        return tomcat;
    }
 
    private Connector[] additionalConnector() {
        if (StringUtils.isBlank(this.additionalPorts)) {
            return null;
        }
        String[] ports = this.additionalPorts.split(",");
        List<Connector> result = new ArrayList<>();
        for (String port : ports) {
            Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
            connector.setScheme("http");
            connector.setPort(Integer.valueOf(port));
            result.add(connector);
        }
        return result.toArray(new Connector[] {});
    }
}

application.yml

server:
  port: ${appPort:8800}
  additionalPorts: 8881,8882

 

Springboot中如何启用多个监听端口

标签:result   containe   nal   length   dde   记录   str   cat   return   

原文地址:https://www.cnblogs.com/xianquan/p/13019040.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!