Class ServerPortInfoApplicationContextInitializer

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

public class ServerPortInfoApplicationContextInitializer extends Object implements org.springframework.context.ApplicationContextInitializer<org.springframework.context.ConfigurableApplicationContext>, org.springframework.context.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
  • Constructor Details

    • ServerPortInfoApplicationContextInitializer

      public ServerPortInfoApplicationContextInitializer()
  • Method Details

    • initialize

      public void initialize(org.springframework.context.ConfigurableApplicationContext applicationContext)
      Specified by:
      initialize in interface org.springframework.context.ApplicationContextInitializer<org.springframework.context.ConfigurableApplicationContext>
    • onApplicationEvent

      public void onApplicationEvent(WebServerInitializedEvent event)
      Specified by:
      onApplicationEvent in interface org.springframework.context.ApplicationListener<WebServerInitializedEvent>