我使用dropwizard版本0.7.1.它被配置为使用"随机"(ephemeral?)端口(server.applicationConnectors.port = 0).我想在启动后获得正在使用的端口,但我找不到任何有关如何执行此操作的信息.
您可以serverStarted从生命周期监听器获取回调来解决这个问题.
@Override
public void run(ExampleConfiguration configuration, Environment environment) throws Exception {
environment.lifecycle().addServerLifecycleListener(new ServerLifecycleListener() {
@Override
public void serverStarted(Server server) {
for (Connector connector : server.getConnectors()) {
if (connector instanceof ServerConnector) {
ServerConnector serverConnector = (ServerConnector) connector;
System.out.println(serverConnector.getName() + " " + serverConnector.getLocalPort());
// Do something useful with serverConnector.getLocalPort()
}
}
}
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2559 次 |
| 最近记录: |