Class ServerPortInfoApplicationContextInitializer

java.lang.Object
org.springframework.boot.web.context.ServerPortInfoApplicationContextInitializer
All Implemented Interfaces:
EventListener, ApplicationContextInitializer<ConfigurableApplicationContext>, ApplicationListener<WebServerInitializedEvent>

public class ServerPortInfoApplicationContextInitializer extends Object implements ApplicationContextInitializer<ConfigurableApplicationContext>, ApplicationListener<WebServerInitializedEvent>
ApplicationContextInitializer that sets Environment properties for the ports that WebServer servers are actually listening on. The property "local.server.port" can be injected directly into tests using @Value or obtained through the Environment.

If the WebServerInitializedEvent has a server namespace, it will be used to construct the property name. For example, the "management" actuator context will have the property name "local.management.port".

Properties are automatically propagated up to any parent context.

Since:
2.0.0
Author:
Dave Syer, Phillip Webb