spring boot mvc 监听端口问题

在使用 spring boot 内嵌服务器开发时我们都是通过 server.port 来指定 web 监听的端口,请问有什么办法能够让一个 spring boot 项目中使用多端口监听请求,比如:使用 80 与 81 同时都能接收请求。

阅读 4.8k
1 个回答

在启动类配置

@Bean
public EmbeddedServletContainerCustomizer containerCustomizer() {
    return new EmbeddedServletContainerCustomizer() {
        @Override
        public void customize(ConfigurableEmbeddedServletContainer container) {
            if (container instanceof TomcatEmbeddedServletContainerFactory) {
                TomcatEmbeddedServletContainerFactory containerFactory =
                        (TomcatEmbeddedServletContainerFactory) container;

                Connector connector = new Connector(TomcatEmbeddedServletContainerFactory.DEFAULT_PROTOCOL);
                connector.setPort(8080);
                containerFactory.addAdditionalTomcatConnectors(connector);
                
                Connector connector2 = new Connector(TomcatEmbeddedServletContainerFactory.DEFAULT_PROTOCOL);
                connector2.setPort(9090);
                containerFactory.addAdditionalTomcatConnectors(connector2);
            }
        }
    };
}
推荐问题