|
16 | 16 |
|
17 | 17 | package org.springframework.integration.config;
|
18 | 18 |
|
| 19 | +import java.util.HashSet; |
19 | 20 | import java.util.Map;
|
| 21 | +import java.util.Set; |
20 | 22 |
|
21 | 23 | import org.springframework.beans.factory.ObjectProvider;
|
22 | 24 | import org.springframework.beans.factory.config.BeanDefinition;
|
|
32 | 34 | import org.springframework.util.Assert;
|
33 | 35 |
|
34 | 36 | import io.micrometer.observation.ObservationRegistry;
|
| 37 | +import org.springframework.util.StringUtils; |
35 | 38 |
|
36 | 39 | /**
|
37 | 40 | * {@code @Configuration} class that registers a {@link IntegrationManagementConfigurer} bean.
|
@@ -75,12 +78,22 @@ public IntegrationManagementConfigurer managementConfigurer(
|
75 | 78 | Boolean.parseBoolean(this.environment.resolvePlaceholders(
|
76 | 79 | (String) this.attributes.get("defaultLoggingEnabled"))));
|
77 | 80 | configurer.setMetricsCaptorProvider(metricsCaptorProvider);
|
78 |
| - String[] observationPatterns = (String[]) this.attributes.get("observationPatterns"); |
| 81 | + String[] observationPatterns = obtainObservationPatterns(); |
79 | 82 | if (observationPatterns.length > 0) {
|
80 | 83 | configurer.setObservationPatterns(observationPatterns);
|
81 | 84 | configurer.setObservationRegistry(observationRegistryProvider);
|
82 | 85 | }
|
83 | 86 | return configurer;
|
84 | 87 | }
|
85 | 88 |
|
| 89 | + 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)); |
| 95 | + } |
| 96 | + return patterns.toArray(new String[0]); |
| 97 | + } |
| 98 | + |
86 | 99 | }
|
0 commit comments