如何用随机端口创建弹簧?

时间:2017-03-30 10:11:25

标签: java spring spring-boot

Spring-boot具有随机端口生成,如here所述。但这个关于Web配置的例子。有没有办法生成随机端口号,检查它是否可用,并保留它用于创建bean?例如。类似的东西:

@Bean
public void myBean (@Value("${somePort}") String port) {
    return new MyBean(port);
}

请注意,那个春天has随机属性如${random.int},但这并不保证该端口可以免费使用。

1 个答案:

答案 0 :(得分:0)

要知道端口是否可用,简单测试操作系统会尝试打开该端口并查看是否没有错误。如果没问题,那么您可以自由使用它。 SO中有几个答案如何做到:

Sockets: Discover port availability using Java

如果您每次都想要一个随机端口,只需使用JSONArray credit = jsonObject.optJSONArray("credits") 即可。它将使用下一个可用端口:

0