Ignore empty value for observationPatterns

This commit is contained in:
artembilan
2022-11-10 09:36:05 -05:00
parent 75b198d0c1
commit b80f107d9b
2 changed files with 16 additions and 10 deletions

View File

@@ -32,9 +32,9 @@ import org.springframework.core.env.Environment;
import org.springframework.core.type.AnnotationMetadata;
import org.springframework.integration.support.management.metrics.MetricsCaptor;
import org.springframework.util.Assert;
import org.springframework.util.StringUtils;
import io.micrometer.observation.ObservationRegistry;
import org.springframework.util.StringUtils;
/**
* {@code @Configuration} class that registers a {@link IntegrationManagementConfigurer} bean.
@@ -44,7 +44,6 @@ import org.springframework.util.StringUtils;
*
* @author Artem Bilan
* @author Gary Russell
*
* @since 4.2
*/
@Configuration(proxyBeanMethods = false)
@@ -87,13 +86,18 @@ public class IntegrationManagementConfiguration implements ImportAware, Environm
}
private String[] obtainObservationPatterns() {
Set<String> patterns = new HashSet<>();
String[] observationPatterns = (String[]) this.attributes.get("observationPatterns");
for (String observationPattern : observationPatterns) {
String pattern = this.environment.resolvePlaceholders(observationPattern);
patterns.addAll(StringUtils.commaDelimitedListToSet(pattern));
Set<String> observationPatterns = new HashSet<>();
String[] patternsProperties = (String[]) this.attributes.get("observationPatterns");
for (String patternProperty : patternsProperties) {
String patternValue = this.environment.resolvePlaceholders(patternProperty);
String[] patternsToProcess = StringUtils.commaDelimitedListToStringArray(patternValue);
for (String pattern : patternsToProcess) {
if (StringUtils.hasText(pattern)) {
observationPatterns.add(pattern);
}
}
}
return patterns.toArray(new String[0]);
return observationPatterns.toArray(new String[0]);
}
}

View File

@@ -107,8 +107,10 @@ public class IntegrationObservabilityZipkinTests extends SampleTestRunner {
@Configuration
@EnableIntegration
@EnableIntegrationManagement(
observationPatterns =
"${spring.integration.management.observation-patterns:observedEndpoint,testInboundGateway}")
observationPatterns = {
"${spring.integration.management.observation-patterns:observedEndpoint,testInboundGateway}",
"${spring.integration.management.observation-patterns:}"
})
public static class ObservationIntegrationTestConfiguration {
CountDownLatch observedHandlerLatch = new CountDownLatch(1);