Skip to content

Commit b80f107

Browse files
committed
Ignore empty value for observationPatterns
1 parent 75b198d commit b80f107

File tree

2 files changed

+16
-10
lines changed

2 files changed

+16
-10
lines changed

spring-integration-core/src/main/java/org/springframework/integration/config/IntegrationManagementConfiguration.java

+12-8
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@
3232
import org.springframework.core.type.AnnotationMetadata;
3333
import org.springframework.integration.support.management.metrics.MetricsCaptor;
3434
import org.springframework.util.Assert;
35+
import org.springframework.util.StringUtils;
3536

3637
import io.micrometer.observation.ObservationRegistry;
37-
import org.springframework.util.StringUtils;
3838

3939
/**
4040
* {@code @Configuration} class that registers a {@link IntegrationManagementConfigurer} bean.
@@ -44,7 +44,6 @@
4444
*
4545
* @author Artem Bilan
4646
* @author Gary Russell
47-
*
4847
* @since 4.2
4948
*/
5049
@Configuration(proxyBeanMethods = false)
@@ -87,13 +86,18 @@ public IntegrationManagementConfigurer managementConfigurer(
8786
}
8887

8988
private String[] obtainObservationPatterns() {
90-
Set<String> patterns = new HashSet<>();
91-
String[] observationPatterns = (String[]) this.attributes.get("observationPatterns");
92-
for (String observationPattern : observationPatterns) {
93-
String pattern = this.environment.resolvePlaceholders(observationPattern);
94-
patterns.addAll(StringUtils.commaDelimitedListToSet(pattern));
89+
Set<String> observationPatterns = new HashSet<>();
90+
String[] patternsProperties = (String[]) this.attributes.get("observationPatterns");
91+
for (String patternProperty : patternsProperties) {
92+
String patternValue = this.environment.resolvePlaceholders(patternProperty);
93+
String[] patternsToProcess = StringUtils.commaDelimitedListToStringArray(patternValue);
94+
for (String pattern : patternsToProcess) {
95+
if (StringUtils.hasText(pattern)) {
96+
observationPatterns.add(pattern);
97+
}
98+
}
9599
}
96-
return patterns.toArray(new String[0]);
100+
return observationPatterns.toArray(new String[0]);
97101
}
98102

99103
}

spring-integration-core/src/test/java/org/springframework/integration/support/management/observation/IntegrationObservabilityZipkinTests.java

+4-2
Original file line numberDiff line numberDiff line change
@@ -107,8 +107,10 @@ public SampleTestRunnerConsumer yourCode() {
107107
@Configuration
108108
@EnableIntegration
109109
@EnableIntegrationManagement(
110-
observationPatterns =
111-
"${spring.integration.management.observation-patterns:observedEndpoint,testInboundGateway}")
110+
observationPatterns = {
111+
"${spring.integration.management.observation-patterns:observedEndpoint,testInboundGateway}",
112+
"${spring.integration.management.observation-patterns:}"
113+
})
112114
public static class ObservationIntegrationTestConfiguration {
113115

114116
CountDownLatch observedHandlerLatch = new CountDownLatch(1);

0 commit comments

Comments
 (0)