Springboot啟用多個監聽埠程式碼例項
阿新 • • 發佈:2020-06-04
前段時間服務有這麼個需求,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
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。