Skip to content

Commit 7f20dd1

Browse files
garyrussellartembilan
authored andcommitted
INT-4392: Polishing
JIRA: https://jira.spring.io/browse/INT-4392 Avoid the need for reflection on the `MicrometerMetricsCaptor`. - move facade interfaces to a sub-package. Remove deprecated `MicrometerMetricsFactory.
1 parent a4eb4ec commit 7f20dd1

16 files changed

+30
-220
lines changed

spring-integration-core/src/main/java/org/springframework/integration/channel/AbstractMessageChannel.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,12 @@
3636
import org.springframework.integration.support.management.DefaultMessageChannelMetrics;
3737
import org.springframework.integration.support.management.IntegrationManagedResource;
3838
import org.springframework.integration.support.management.MessageChannelMetrics;
39-
import org.springframework.integration.support.management.MetricsCaptor;
4039
import org.springframework.integration.support.management.MetricsContext;
41-
import org.springframework.integration.support.management.SampleFacade;
4240
import org.springframework.integration.support.management.Statistics;
43-
import org.springframework.integration.support.management.TimerFacade;
4441
import org.springframework.integration.support.management.TrackableComponent;
42+
import org.springframework.integration.support.management.metrics.MetricsCaptor;
43+
import org.springframework.integration.support.management.metrics.SampleFacade;
44+
import org.springframework.integration.support.management.metrics.TimerFacade;
4545
import org.springframework.integration.support.utils.IntegrationUtils;
4646
import org.springframework.messaging.Message;
4747
import org.springframework.messaging.MessageChannel;

spring-integration-core/src/main/java/org/springframework/integration/channel/AbstractPollableChannel.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020
import java.util.Deque;
2121
import java.util.List;
2222

23-
import org.springframework.integration.support.management.CounterFacade;
2423
import org.springframework.integration.support.management.PollableChannelManagement;
24+
import org.springframework.integration.support.management.metrics.CounterFacade;
2525
import org.springframework.messaging.Message;
2626
import org.springframework.messaging.PollableChannel;
2727
import org.springframework.messaging.support.ChannelInterceptor;

spring-integration-core/src/main/java/org/springframework/integration/channel/NullChannel.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@
2828
import org.springframework.integration.support.management.DefaultMessageChannelMetrics;
2929
import org.springframework.integration.support.management.IntegrationManagedResource;
3030
import org.springframework.integration.support.management.MessageChannelMetrics;
31-
import org.springframework.integration.support.management.MetricsCaptor;
3231
import org.springframework.integration.support.management.Statistics;
33-
import org.springframework.integration.support.management.TimerFacade;
32+
import org.springframework.integration.support.management.metrics.MetricsCaptor;
33+
import org.springframework.integration.support.management.metrics.TimerFacade;
3434
import org.springframework.messaging.Message;
3535
import org.springframework.messaging.PollableChannel;
3636
import org.springframework.util.Assert;

spring-integration-core/src/main/java/org/springframework/integration/endpoint/AbstractMessageSource.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@
2626
import org.springframework.integration.core.MessageSource;
2727
import org.springframework.integration.support.AbstractIntegrationMessageBuilder;
2828
import org.springframework.integration.support.context.NamedComponent;
29-
import org.springframework.integration.support.management.CounterFacade;
3029
import org.springframework.integration.support.management.IntegrationManagedResource;
3130
import org.springframework.integration.support.management.MessageSourceMetrics;
32-
import org.springframework.integration.support.management.MetricsCaptor;
31+
import org.springframework.integration.support.management.metrics.CounterFacade;
32+
import org.springframework.integration.support.management.metrics.MetricsCaptor;
3333
import org.springframework.integration.util.AbstractExpressionEvaluator;
3434
import org.springframework.messaging.Message;
3535
import org.springframework.messaging.MessagingException;

spring-integration-core/src/main/java/org/springframework/integration/handler/AbstractMessageHandler.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,12 @@
2727
import org.springframework.integration.support.management.DefaultMessageHandlerMetrics;
2828
import org.springframework.integration.support.management.IntegrationManagedResource;
2929
import org.springframework.integration.support.management.MessageHandlerMetrics;
30-
import org.springframework.integration.support.management.MetricsCaptor;
3130
import org.springframework.integration.support.management.MetricsContext;
32-
import org.springframework.integration.support.management.SampleFacade;
3331
import org.springframework.integration.support.management.Statistics;
34-
import org.springframework.integration.support.management.TimerFacade;
3532
import org.springframework.integration.support.management.TrackableComponent;
33+
import org.springframework.integration.support.management.metrics.MetricsCaptor;
34+
import org.springframework.integration.support.management.metrics.SampleFacade;
35+
import org.springframework.integration.support.management.metrics.TimerFacade;
3636
import org.springframework.integration.support.utils.IntegrationUtils;
3737
import org.springframework.messaging.Message;
3838
import org.springframework.messaging.MessageHandler;

spring-integration-core/src/main/java/org/springframework/integration/support/management/IntegrationManagement.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package org.springframework.integration.support.management;
1818

19+
import org.springframework.integration.support.management.metrics.MetricsCaptor;
1920
import org.springframework.jmx.export.annotation.ManagedAttribute;
2021
import org.springframework.jmx.export.annotation.ManagedOperation;
2122

spring-integration-core/src/main/java/org/springframework/integration/support/management/IntegrationManagementConfigurer.java

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@
1616

1717
package org.springframework.integration.support.management;
1818

19-
import java.lang.reflect.Method;
2019
import java.util.Arrays;
2120
import java.util.HashMap;
2221
import java.util.Map;
@@ -33,6 +32,8 @@
3332
import org.springframework.context.ApplicationContextAware;
3433
import org.springframework.integration.core.MessageSource;
3534
import org.springframework.integration.support.management.IntegrationManagement.ManagementOverrides;
35+
import org.springframework.integration.support.management.metrics.MetricsCaptor;
36+
import org.springframework.integration.support.management.micrometer.MicrometerMetricsCaptor;
3637
import org.springframework.integration.support.utils.PatternMatchUtils;
3738
import org.springframework.messaging.MessageChannel;
3839
import org.springframework.messaging.MessageHandler;
@@ -215,17 +216,7 @@ public void afterSingletonsInstantiated() {
215216
ClassLoader classLoader = IntegrationManagementConfigurer.class.getClassLoader();
216217
if (ClassUtils.isPresent("io.micrometer.core.instrument.MeterRegistry",
217218
classLoader)) {
218-
try {
219-
// Use reflection to avoid a package tangle with ...management.micrometer
220-
Class<?> captor = ClassUtils.forName(
221-
"org.springframework.integration.support.management.micrometer.MicrometerMetricsCaptor",
222-
classLoader);
223-
Method method = captor.getDeclaredMethod("loadCaptor", ApplicationContext.class);
224-
this.metricsCaptor = (MetricsCaptor) method.invoke(null, this.applicationContext);
225-
}
226-
catch (Exception e) {
227-
// no op
228-
}
219+
this.metricsCaptor = MicrometerMetricsCaptor.loadCaptor(this.applicationContext);
229220
}
230221
if (this.metricsCaptor != null) {
231222
injectCaptor();

spring-integration-core/src/main/java/org/springframework/integration/support/management/MessageSourceMetrics.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package org.springframework.integration.support.management;
1818

19+
import org.springframework.integration.support.management.metrics.CounterFacade;
1920
import org.springframework.jmx.export.annotation.ManagedMetric;
2021
import org.springframework.jmx.support.MetricType;
2122

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
* limitations under the License.
1515
*/
1616

17-
package org.springframework.integration.support.management;
17+
package org.springframework.integration.support.management.metrics;
1818

1919
/**
2020
* @author Gary Russell
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
* limitations under the License.
1515
*/
1616

17-
package org.springframework.integration.support.management;
17+
package org.springframework.integration.support.management.metrics;
1818

1919
/**
2020
* @author Gary Russell

0 commit comments

Comments
 (0)