当前位置: 首页> 教育> 就业 > Springboot监听多个端口

Springboot监听多个端口

时间:2025/8/26 10:50:19来源:https://blog.csdn.net/2301_79354153/article/details/141605260 浏览次数:0次

步骤1:

application.yml配置文件中添加需要监听的端口如下所示additionalPorts为该服务添加的其他端口

server:
  port: 8088
  additionalPorts: 8089,8087

步骤2:

新建TomcatUtil.java类,详细代码如下

Springboot 1X

42
43
package com.demo;import org.apache.catalina.connector.Connector;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.embedded.EmbeddedServletContainerFactory;
import org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;import java.util.ArrayList;
import java.util.List;@Configuration
public class TomcatUtil {@Value("${server.additionalPorts}")private String additionalPorts;@Beanpublic 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[] {});}
}Springboot 2X
122
2343
package com.demo;import org.apache.catalina.connector.Connector;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Value;import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;import java.util.ArrayList;
import java.util.List;@Configuration
public class TomcatUtil {@Value("${server.additionalPorts}")private String additionalPorts;@Beanpublic 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.valueOf(port));result.add(connector);}return result.toArray(new Connector[] {});}
}步骤3:
服务启动类中添加如下代码,添加位置如下图所示
@Import({TomcatUtil.class})

关键字:Springboot监听多个端口

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: