diff --git a/spring-integration-core/src/main/java/org/springframework/integration/config/IntegrationManagementConfigurer.java b/spring-integration-core/src/main/java/org/springframework/integration/config/IntegrationManagementConfigurer.java index 27a52ce300..10a22b9765 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/config/IntegrationManagementConfigurer.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/config/IntegrationManagementConfigurer.java @@ -54,6 +54,7 @@ import org.springframework.util.StringUtils; * @author Gary Russell * @author Artem Bilan * @author Meherzad Lahewala + * @author Jonathan Pearlin * * @since 4.2 * @@ -278,7 +279,7 @@ public class IntegrationManagementConfigurer .getBeansOfType(IntegrationManagement.class); for (Entry entry : managed.entrySet()) { IntegrationManagement bean = entry.getValue(); - if (!bean.getOverrides().loggingConfigured) { + if (!getOverrides(bean).loggingConfigured) { bean.setLoggingEnabled(this.defaultLoggingEnabled); } String name = entry.getKey(); @@ -292,7 +293,7 @@ public class IntegrationManagementConfigurer .getBeansOfType(IntegrationManagement.class); for (Entry entry : managed.entrySet()) { IntegrationManagement bean = entry.getValue(); - if (!bean.getOverrides().loggingConfigured) { + if (!getOverrides(bean).loggingConfigured) { bean.setLoggingEnabled(this.defaultLoggingEnabled); } bean.registerMetricsCaptor(this.metricsCaptor); @@ -364,7 +365,7 @@ public class IntegrationManagementConfigurer metrics = this.metricsFactory.createChannelMetrics(name); } Assert.state(metrics != null, "'metrics' must not be null"); - ManagementOverrides overrides = bean.getOverrides(); + ManagementOverrides overrides = getOverrides(bean); Boolean enabled = PatternMatchUtils.smartMatch(name, this.enabledCountsPatterns); if (enabled != null) { bean.setCountsEnabled(enabled); @@ -396,7 +397,7 @@ public class IntegrationManagementConfigurer org.springframework.integration.support.management.MessageHandlerMetrics bean) { AbstractMessageHandlerMetrics metrics = this.metricsFactory.createHandlerMetrics(name); Assert.state(metrics != null, "'metrics' must not be null"); - ManagementOverrides overrides = bean.getOverrides(); + ManagementOverrides overrides = getOverrides(bean); Boolean enabled = PatternMatchUtils.smartMatch(name, this.enabledCountsPatterns); if (enabled != null) { bean.setCountsEnabled(enabled); @@ -432,7 +433,7 @@ public class IntegrationManagementConfigurer bean.setCountsEnabled(enabled); } else { - if (!bean.getOverrides().countsConfigured) { + if (!getOverrides(bean).countsConfigured) { bean.setCountsEnabled(this.defaultCountsEnabled); } } @@ -506,4 +507,8 @@ public class IntegrationManagementConfigurer return null; } + private static ManagementOverrides getOverrides(IntegrationManagement bean) { + return bean.getOverrides() != null ? bean.getOverrides() : new ManagementOverrides(); + } + }