在微服務項目中,橫向拓展需要啟動多個服務,每次啟動指定端口號很麻煩,加上以下配置,只需要配置一個端口范圍即可實現動態端口。
啟動類
@SpringBootApplication
public class CommoditysApplication {
@Value("${propsocpr}")
private String propsocpr;
public static void main(String[] args) {
SpringApplication.run(CommoditysApplication.class, args);
}
@Bean
public TomcatServletWebServerFactory servletWebServerFactory(){
String[] split = propsocpr.split("-");
for (int i = Integer.parseInt(split[0]); i <= Integer.parseInt(split[1]); i++) {
try {
new Socket(InetAddress.getByName("127.0.0.1"),i);
} catch (IOException e) {
System.out.println("啟動成功,端口===="+i);
return new TomcatServletWebServerFactory(i);
}
}
System.out.println("范圍內端口已耗盡====");
return null;
}
}
配置端口范圍,可在nacos中動態配置
propsocpr: 5080-5089