Class IntegrationManagementConfigurer

java.lang.Object
org.springframework.integration.config.IntegrationManagementConfigurer
All Implemented Interfaces:
EventListener, org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.config.BeanPostProcessor, org.springframework.beans.factory.SmartInitializingSingleton, org.springframework.context.ApplicationContextAware, org.springframework.context.ApplicationListener<org.springframework.context.event.ContextClosedEvent>

public class IntegrationManagementConfigurer extends Object implements org.springframework.beans.factory.SmartInitializingSingleton, org.springframework.context.ApplicationContextAware, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.config.BeanPostProcessor, org.springframework.context.ApplicationListener<org.springframework.context.event.ContextClosedEvent>
Configures beans that implement IntegrationManagement. Configures logging, MetricsCaptor and ObservationRegistry for all (or selected) components.
Since:
4.2
  • Field Details

    • MANAGEMENT_CONFIGURER_NAME

      public static final String MANAGEMENT_CONFIGURER_NAME
      Bean name of the configurer.
      See Also:
  • Constructor Details

    • IntegrationManagementConfigurer

      public IntegrationManagementConfigurer()
  • Method Details

    • 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
    • setBeanName

      public void setBeanName(String name)
      Specified by:
      setBeanName in interface org.springframework.beans.factory.BeanNameAware
    • setDefaultLoggingEnabled

      public void setDefaultLoggingEnabled(boolean defaultLoggingEnabled)
      Disable all logging in the normal message flow in framework components. When 'false', such logging will be skipped, regardless of logging level. When 'true', the logging is controlled as normal by the logging subsystem log level configuration.

      Exception logging (debug or otherwise) is not affected by this setting.

      It has been found that in high-volume messaging environments, calls to methods such as Log.isDebugEnabled() can be quite expensive and account for an inordinate amount of CPU time.

      Set this to 'false' to disable logging by default in all framework components that implement IntegrationManagement (channels, message handlers etc.) This turns off logging such as "PreSend on channel", "Received message" etc.

      After the context is initialized, individual components can have their setting changed by invoking IntegrationManagement.setLoggingEnabled(boolean).

      Parameters:
      defaultLoggingEnabled - defaults to true.
    • setMetricsCaptor

      public void setMetricsCaptor(@Nullable MetricsCaptor metricsCaptor)
    • setObservationRegistry

      public void setObservationRegistry(@Nullable io.micrometer.observation.ObservationRegistry observationRegistry)
      Set an ObservationRegistry to populate to the IntegrationManagement components in the application context.
      Parameters:
      observationRegistry - the ObservationRegistry to use.
      Since:
      6.0
    • setObservationPatterns

      public void setObservationPatterns(String... observationPatterns)
      Set simple patterns for component names matching which has to be instrumented with a ObservationRegistry.
      Parameters:
      observationPatterns - the simple patterns to use.
      Since:
      6.0
      See Also:
    • afterSingletonsInstantiated

      public void afterSingletonsInstantiated()
      Specified by:
      afterSingletonsInstantiated in interface org.springframework.beans.factory.SmartInitializingSingleton
    • postProcessAfterInitialization

      public Object postProcessAfterInitialization(Object bean, String name) throws org.springframework.beans.BeansException
      Specified by:
      postProcessAfterInitialization in interface org.springframework.beans.factory.config.BeanPostProcessor
      Throws:
      org.springframework.beans.BeansException
    • onApplicationEvent

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