配置文件 (application.yml)中配置端口号
server:
port: 8008
additionalPorts: 8009,8010
新建一个配置类进行配置
@Configuration
public class TomcatMultiPortConfig {
@Value("${server.additionalPorts}")
private String additionalPorts;
@Bean
public TomcatServletWebServerFactory servletContainer() {
TomcatServletWebServerFactory tomcat =new TomcatServletWebServerFactory();
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.parseInt(port));
result.add(connector);
}
return result.toArray(new Connector[] {});
}
}