这个是一个老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);
}
}
网友评论