Class ConfigurationPropertiesRebinder

  • All Implemented Interfaces:
    EventListener, org.springframework.beans.factory.Aware, org.springframework.context.ApplicationContextAware, org.springframework.context.ApplicationListener<EnvironmentChangeEvent>

    @Component
    @ManagedResource
    public class ConfigurationPropertiesRebinder
    extends Object
    implements org.springframework.context.ApplicationContextAware, org.springframework.context.ApplicationListener<EnvironmentChangeEvent>
    Listens for EnvironmentChangeEvent and rebinds beans that were bound to the Environment using @ConfigurationProperties. When these beans are re-bound and re-initialized, the changes are available immediately to any component that is using the @ConfigurationProperties bean.
    Author:
    Dave Syer
    See Also:
    for a deeper and optionally more focused refresh of bean components.
    • Method Detail

      • setApplicationContext

        public void setApplicationContext​(org.springframework.context.ApplicationContext applicationContext)
                                   throws org.springframework.beans.BeansException
        Specified by:
        setApplicationContext in interface org.springframework.context.ApplicationContextAware
        Throws:
        org.springframework.beans.BeansException
      • getErrors

        public Map<String,​Exception> getErrors()
        A map of bean name to errors when instantiating the bean.
        Returns:
        The errors accumulated since the latest destroy.
      • rebind

        @ManagedOperation
        public void rebind()
      • rebind

        @ManagedOperation
        public boolean rebind​(String name)
      • rebind

        public boolean rebind​(Class type)
        WARNING: This method rebinds beans from any context in the hierarchy using the main application context.
        Parameters:
        type - bean type to rebind.
        Returns:
        true, if successful.
      • getNeverRefreshable

        @ManagedAttribute
        public Set<String> getNeverRefreshable()
      • getBeanNames

        @ManagedAttribute
        public Set<String> getBeanNames()