SpringCloud随机端口解决方案

这个是一个老bug了, 目前 server.port = 0, server.port=${random.int[0-65535]} 这两种配置都存在一定问题。实际上有人已经给出了解决方案 , 个人觉得搞得太复杂了,提供一种硬编码的方式来暴力规避这个问题。

@SpringBootApplication
@EnableFeignClients
@EnableDiscoveryClient
public class TraceClientLauncher {

    @Bean
    public EmbeddedServletContainerCustomizer containerCustomizer() {
        return new EmbeddedServletContainerCustomizer() {
            @Override
            public void customize(ConfigurableEmbeddedServletContainer container) {
                int port = SocketUtils.findAvailableTcpPort(8001, 8999);
                container.setPort(port);
                System.getProperties().put("server.port", port);
            }
        };
    }

    public static void main(String[] args) {
        SpringApplication.run(TraceClientLauncher.class, args);
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。