Class IntegrationManagementConfigurer
java.lang.Object
org.springframework.integration.config.IntegrationManagementConfigurer
- All Implemented Interfaces:
EventListener
,Aware
,BeanNameAware
,BeanPostProcessor
,SmartInitializingSingleton
,ApplicationContextAware
,ApplicationListener<ContextClosedEvent>
public class IntegrationManagementConfigurer
extends Object
implements SmartInitializingSingleton, ApplicationContextAware, BeanNameAware, BeanPostProcessor, ApplicationListener<ContextClosedEvent>
Configures beans that implement
IntegrationManagement
.
Configures logging, MetricsCaptor
and ObservationRegistry
for all (or selected) components.- Since:
- 4.2
- Author:
- Gary Russell, Artem Bilan, Meherzad Lahewala, Jonathan Pearlin
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
void
postProcessAfterInitialization
(Object bean, String name) void
setApplicationContext
(ApplicationContext applicationContext) void
setBeanName
(String name) void
setDefaultLoggingEnabled
(boolean defaultLoggingEnabled) Disable all logging in the normal message flow in framework components.void
setMetricsCaptor
(MetricsCaptor metricsCaptor) void
setObservationPatterns
(String... observationPatterns) Set simple patterns for component names matching which has to be instrumented with aObservationRegistry
.void
setObservationRegistry
(io.micrometer.observation.ObservationRegistry observationRegistry) Set anObservationRegistry
to populate to theIntegrationManagement
components in the application context.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.springframework.context.ApplicationListener
supportsAsyncExecution
Methods inherited from interface org.springframework.beans.factory.config.BeanPostProcessor
postProcessBeforeInitialization
-
Field Details
-
MANAGEMENT_CONFIGURER_NAME
Bean name of the configurer.- See Also:
-
-
Constructor Details
-
IntegrationManagementConfigurer
public IntegrationManagementConfigurer()
-
-
Method Details
-
setApplicationContext
- Specified by:
setApplicationContext
in interfaceApplicationContextAware
- Throws:
BeansException
-
setBeanName
- Specified by:
setBeanName
in interfaceBeanNameAware
-
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
-
setObservationRegistry
public void setObservationRegistry(@Nullable io.micrometer.observation.ObservationRegistry observationRegistry) Set anObservationRegistry
to populate to theIntegrationManagement
components in the application context.- Parameters:
observationRegistry
- theObservationRegistry
to use.- Since:
- 6.0
-
setObservationPatterns
Set simple patterns for component names matching which has to be instrumented with aObservationRegistry
.- Parameters:
observationPatterns
- the simple patterns to use.- Since:
- 6.0
- See Also:
-
afterSingletonsInstantiated
public void afterSingletonsInstantiated()- Specified by:
afterSingletonsInstantiated
in interfaceSmartInitializingSingleton
-
postProcessAfterInitialization
- Specified by:
postProcessAfterInitialization
in interfaceBeanPostProcessor
- Throws:
BeansException
-
onApplicationEvent
- Specified by:
onApplicationEvent
in interfaceApplicationListener<ContextClosedEvent>
-