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 via 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>