SpringCloud随机端口解决方案

2018-05-30  本文已影响0人  可乐肉丸子

这个是一个老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);
    }
}
上一篇下一篇

猜你喜欢

热点阅读