在 guice 模块中获取 运行 播放微服务的端口

Get Port of running play microservice within a guice module

我想在随机端口(端口 0)启动一个播放应用程序。每个启动的微服务实例都应该连接到一个服务定位器(eureka)并告诉他他的端口和主机。但是如何获取 运行 播放服务的端口?

这个问题实际上被问了好几次,但答案对我不起作用:

class MyModule @Inject() (configuration: Configuration) extends AbstractModule {
  configuration.getInt("http.port") // returns None
  System.getProperty("http.port") // returns null
}

根据 play documentation 这应该有效:

configuration.get[Int]("play.server.http.port")