亲宝软件园·资讯

展开

Springboot监听 Springboot启用多个监听端口代码实例

l-coil 人气:0

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

代码如下

@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

加载全部内容

相关教程
猜你喜欢
用户评论