Skip to content

Commit 4552a80

Browse files
garyrussellartembilan
authored andcommitted
INT-4392: Fix tangles
JIRA: https://jira.spring.io/browse/INT-4392 JIRA: https://jira.spring.io/browse/INT-4391 JIRA: https://jira.spring.io/browse/INT-4393 Resolve class and leaf package tangles in: - core (except DSL) - file - http - move `StaticMessageHeaderAccessor` to root `integration` package - move acknowledgment related classes to a new `acks` package - move `MMIH` to `handler.support`, alongside argument resolvers, also `HandlerMethodArgumentResolversHolder` - move `ErrorMessagePublisher` to `core` - move `PatternMatchUtils` to `support.utils` - move `MessageSourceManagement` to `support.management` - remove direct reference to `MicrometerMetricsCapter` from `IntegrationManagementSupport` - add new class `MetricsCaptorLoader` - move `OperationsCallback` to inner interface in `RemoteFileOperations` - move `HttpContextUtils` to `config` * Simplify MetricsCaptor loading. * Polishing
1 parent 525eb00 commit 4552a80

File tree

52 files changed

+111
-115
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+111
-115
lines changed

spring-integration-amqp/src/main/java/org/springframework/integration/amqp/inbound/AmqpInboundChannelAdapter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,14 @@
2929
import org.springframework.amqp.support.converter.SimpleMessageConverter;
3030
import org.springframework.core.AttributeAccessor;
3131
import org.springframework.integration.IntegrationMessageHeaderAccessor;
32+
import org.springframework.integration.StaticMessageHeaderAccessor;
3233
import org.springframework.integration.amqp.support.AmqpHeaderMapper;
3334
import org.springframework.integration.amqp.support.AmqpMessageHeaderErrorMessageStrategy;
3435
import org.springframework.integration.amqp.support.DefaultAmqpHeaderMapper;
3536
import org.springframework.integration.context.OrderlyShutdownCapable;
3637
import org.springframework.integration.endpoint.MessageProducerSupport;
3738
import org.springframework.integration.support.ErrorMessageStrategy;
3839
import org.springframework.integration.support.ErrorMessageUtils;
39-
import org.springframework.integration.support.StaticMessageHeaderAccessor;
4040
import org.springframework.retry.RecoveryCallback;
4141
import org.springframework.retry.RetryCallback;
4242
import org.springframework.retry.RetryContext;

spring-integration-amqp/src/main/java/org/springframework/integration/amqp/inbound/AmqpInboundGateway.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,13 +34,13 @@
3434
import org.springframework.amqp.support.converter.SimpleMessageConverter;
3535
import org.springframework.core.AttributeAccessor;
3636
import org.springframework.integration.IntegrationMessageHeaderAccessor;
37+
import org.springframework.integration.StaticMessageHeaderAccessor;
3738
import org.springframework.integration.amqp.support.AmqpHeaderMapper;
3839
import org.springframework.integration.amqp.support.AmqpMessageHeaderErrorMessageStrategy;
3940
import org.springframework.integration.amqp.support.DefaultAmqpHeaderMapper;
4041
import org.springframework.integration.gateway.MessagingGatewaySupport;
4142
import org.springframework.integration.support.ErrorMessageStrategy;
4243
import org.springframework.integration.support.ErrorMessageUtils;
43-
import org.springframework.integration.support.StaticMessageHeaderAccessor;
4444
import org.springframework.retry.RecoveryCallback;
4545
import org.springframework.retry.RetryCallback;
4646
import org.springframework.retry.RetryContext;

spring-integration-amqp/src/main/java/org/springframework/integration/amqp/inbound/AmqpMessageSource.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,13 @@
3131
import org.springframework.amqp.support.converter.SimpleMessageConverter;
3232
import org.springframework.context.MessageSource;
3333
import org.springframework.integration.IntegrationMessageHeaderAccessor;
34+
import org.springframework.integration.acks.AcknowledgmentCallback;
35+
import org.springframework.integration.acks.AcknowledgmentCallbackFactory;
3436
import org.springframework.integration.amqp.support.AmqpHeaderMapper;
3537
import org.springframework.integration.amqp.support.AmqpMessageHeaderErrorMessageStrategy;
3638
import org.springframework.integration.amqp.support.DefaultAmqpHeaderMapper;
3739
import org.springframework.integration.endpoint.AbstractMessageSource;
3840
import org.springframework.integration.support.AbstractIntegrationMessageBuilder;
39-
import org.springframework.integration.support.AcknowledgmentCallback;
40-
import org.springframework.integration.support.AcknowledgmentCallbackFactory;
4141
import org.springframework.util.Assert;
4242

4343
import com.rabbitmq.client.Channel;

spring-integration-amqp/src/test/java/org/springframework/integration/amqp/inbound/AmqpMessageSourceIntegrationTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@
4949
import org.springframework.context.annotation.Bean;
5050
import org.springframework.context.annotation.Configuration;
5151
import org.springframework.integration.IntegrationMessageHeaderAccessor;
52+
import org.springframework.integration.acks.AcknowledgmentCallback;
53+
import org.springframework.integration.acks.AcknowledgmentCallback.Status;
5254
import org.springframework.integration.amqp.dsl.Amqp;
5355
import org.springframework.integration.annotation.InboundChannelAdapter;
5456
import org.springframework.integration.annotation.Poller;
@@ -58,8 +60,6 @@
5860
import org.springframework.integration.dsl.IntegrationFlow;
5961
import org.springframework.integration.dsl.IntegrationFlows;
6062
import org.springframework.integration.dsl.Pollers;
61-
import org.springframework.integration.support.AcknowledgmentCallback;
62-
import org.springframework.integration.support.AcknowledgmentCallback.Status;
6363
import org.springframework.messaging.handler.annotation.Header;
6464
import org.springframework.messaging.support.MessageBuilder;
6565
import org.springframework.test.annotation.DirtiesContext;

spring-integration-amqp/src/test/java/org/springframework/integration/amqp/inbound/AmqpMessageSourceTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,9 @@
3434

3535
import org.springframework.amqp.rabbit.connection.CachingConnectionFactory;
3636
import org.springframework.amqp.support.AmqpHeaders;
37+
import org.springframework.integration.StaticMessageHeaderAccessor;
38+
import org.springframework.integration.acks.AcknowledgmentCallback.Status;
3739
import org.springframework.integration.amqp.support.AmqpMessageHeaderErrorMessageStrategy;
38-
import org.springframework.integration.support.AcknowledgmentCallback.Status;
39-
import org.springframework.integration.support.StaticMessageHeaderAccessor;
4040
import org.springframework.messaging.Message;
4141

4242
import com.rabbitmq.client.AMQP.BasicProperties;

spring-integration-amqp/src/test/java/org/springframework/integration/amqp/inbound/InboundEndpointTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@
5858
import org.springframework.amqp.support.converter.MessageConverter;
5959
import org.springframework.amqp.support.converter.SimpleMessageConverter;
6060
import org.springframework.beans.factory.BeanFactory;
61+
import org.springframework.integration.StaticMessageHeaderAccessor;
6162
import org.springframework.integration.amqp.support.AmqpMessageHeaderErrorMessageStrategy;
6263
import org.springframework.integration.amqp.support.DefaultAmqpHeaderMapper;
6364
import org.springframework.integration.channel.DirectChannel;
@@ -67,7 +68,6 @@
6768
import org.springframework.integration.json.ObjectToJsonTransformer;
6869
import org.springframework.integration.mapping.support.JsonHeaders;
6970
import org.springframework.integration.support.MessageBuilder;
70-
import org.springframework.integration.support.StaticMessageHeaderAccessor;
7171
import org.springframework.integration.transformer.MessageTransformingHandler;
7272
import org.springframework.integration.transformer.Transformer;
7373
import org.springframework.messaging.Message;

spring-integration-core/src/main/java/org/springframework/integration/IntegrationMessageHeaderAccessor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
import java.util.Set;
2525
import java.util.concurrent.atomic.AtomicInteger;
2626

27-
import org.springframework.integration.support.AcknowledgmentCallback;
27+
import org.springframework.integration.acks.AcknowledgmentCallback;
2828
import org.springframework.lang.Nullable;
2929
import org.springframework.messaging.Message;
3030
import org.springframework.messaging.MessageHeaders;
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,13 @@
1414
* limitations under the License.
1515
*/
1616

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

1919
import java.io.Closeable;
2020
import java.util.UUID;
2121
import java.util.concurrent.atomic.AtomicInteger;
2222

23-
import org.springframework.integration.IntegrationMessageHeaderAccessor;
23+
import org.springframework.integration.acks.AcknowledgmentCallback;
2424
import org.springframework.lang.Nullable;
2525
import org.springframework.messaging.Message;
2626
import org.springframework.messaging.MessageHeaders;

spring-integration-core/src/main/java/org/springframework/integration/support/AckUtils.java renamed to spring-integration-core/src/main/java/org/springframework/integration/acks/AckUtils.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@
1414
* limitations under the License.
1515
*/
1616

17-
package org.springframework.integration.support;
17+
package org.springframework.integration.acks;
1818

19-
import org.springframework.integration.support.AcknowledgmentCallback.Status;
19+
import org.springframework.integration.acks.AcknowledgmentCallback.Status;
2020
import org.springframework.lang.Nullable;
2121
import org.springframework.messaging.Message;
2222

@@ -37,10 +37,12 @@ private AckUtils() {
3737
* Return the {@link AcknowledgmentCallback} header (if present).
3838
* @param message the message.
3939
* @return the callback, or null.
40+
* @deprecated use StaticMessageHeaderAccessor.getAcknowledgmentCallback(message).
4041
*/
42+
@Deprecated
4143
@Nullable
4244
public static AcknowledgmentCallback getAckCallback(Message<?> message) {
43-
return StaticMessageHeaderAccessor.getAcknowledgmentCallback(message);
45+
throw new UnsupportedOperationException("Use StaticMessageHeaderAccessor.getAcknowledgmentCallback(message)");
4446
}
4547

4648
/**
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;
17+
package org.springframework.integration.acks;
1818

1919
/**
2020
* A general abstraction over acknowledgments.
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;
17+
package org.springframework.integration.acks;
1818

1919
/**
2020
* A factory for creating {@link AcknowledgmentCallback}s.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
/**
2+
* Provides classes related to message acknowledgment.
3+
*/
4+
package org.springframework.integration.acks;

spring-integration-core/src/main/java/org/springframework/integration/aggregator/MethodInvokingMessageListProcessor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@
2323

2424
import org.springframework.beans.factory.BeanFactory;
2525
import org.springframework.context.Lifecycle;
26+
import org.springframework.integration.handler.support.MessagingMethodInvokerHelper;
2627
import org.springframework.integration.util.AbstractExpressionEvaluator;
27-
import org.springframework.integration.util.MessagingMethodInvokerHelper;
2828
import org.springframework.messaging.Message;
2929

3030
/**

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
package org.springframework.integration.channel;
1818

1919
import org.springframework.integration.context.IntegrationContextUtils;
20-
import org.springframework.integration.support.ErrorMessagePublisher;
20+
import org.springframework.integration.core.ErrorMessagePublisher;
2121
import org.springframework.integration.support.ErrorMessageStrategy;
2222
import org.springframework.integration.support.MessagingExceptionWrapper;
2323
import org.springframework.messaging.Message;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@
4949
* A leading '!' negates the pattern match.
5050
* Default is "*" (all channels).
5151
* @return The pattern.
52-
* @see org.springframework.integration.util.PatternMatchUtils#smartMatch(String, String...)
52+
* @see org.springframework.integration.support.utils.PatternMatchUtils#smartMatch(String, String...)
5353
*/
5454
String[] patterns() default "*";
5555

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@
4141
import org.springframework.integration.channel.interceptor.VetoCapableInterceptor;
4242
import org.springframework.integration.context.IntegrationContextUtils;
4343
import org.springframework.integration.context.IntegrationProperties;
44-
import org.springframework.integration.util.PatternMatchUtils;
44+
import org.springframework.integration.support.utils.PatternMatchUtils;
4545
import org.springframework.messaging.support.ChannelInterceptor;
4646
import org.springframework.util.Assert;
4747
import org.springframework.util.CollectionUtils;

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@
4949
import org.springframework.integration.context.IntegrationContextUtils;
5050
import org.springframework.integration.context.IntegrationProperties;
5151
import org.springframework.integration.handler.support.CollectionArgumentResolver;
52+
import org.springframework.integration.handler.support.HandlerMethodArgumentResolversHolder;
5253
import org.springframework.integration.handler.support.MapArgumentResolver;
5354
import org.springframework.integration.handler.support.PayloadExpressionArgumentResolver;
5455
import org.springframework.integration.handler.support.PayloadsArgumentResolver;
Lines changed: 4 additions & 2 deletions
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;
17+
package org.springframework.integration.core;
1818

1919
import org.apache.commons.logging.Log;
2020
import org.apache.commons.logging.LogFactory;
@@ -23,7 +23,9 @@
2323
import org.springframework.beans.factory.BeanFactoryAware;
2424
import org.springframework.core.AttributeAccessor;
2525
import org.springframework.integration.context.IntegrationContextUtils;
26-
import org.springframework.integration.core.MessagingTemplate;
26+
import org.springframework.integration.support.DefaultErrorMessageStrategy;
27+
import org.springframework.integration.support.ErrorMessageStrategy;
28+
import org.springframework.integration.support.ErrorMessageUtils;
2729
import org.springframework.integration.support.channel.BeanFactoryChannelResolver;
2830
import org.springframework.messaging.Message;
2931
import org.springframework.messaging.MessageChannel;

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616

1717
package org.springframework.integration.endpoint;
1818

19+
import org.springframework.integration.support.management.MessageSourceManagement;
20+
1921
/**
2022
* A message source that can limit the number of remote objects it fetches.
2123
*

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

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,10 @@
1616

1717
package org.springframework.integration.endpoint;
1818

19+
import org.springframework.integration.StaticMessageHeaderAccessor;
20+
import org.springframework.integration.acks.AckUtils;
21+
import org.springframework.integration.acks.AcknowledgmentCallback;
1922
import org.springframework.integration.core.MessageSource;
20-
import org.springframework.integration.support.AckUtils;
21-
import org.springframework.integration.support.AcknowledgmentCallback;
2223
import org.springframework.messaging.Message;
2324
import org.springframework.messaging.MessageHandler;
2425
import org.springframework.messaging.MessageHandlingException;
@@ -48,7 +49,7 @@ public boolean poll(MessageHandler handler) {
4849
Assert.notNull(handler, "'handler' cannot be null");
4950
Message<?> message = this.source.receive();
5051
if (message != null) {
51-
AcknowledgmentCallback ackCallback = AckUtils.getAckCallback(message);
52+
AcknowledgmentCallback ackCallback = StaticMessageHeaderAccessor.getAcknowledgmentCallback(message);
5253
try {
5354
handler.handleMessage(message);
5455
AckUtils.autoAck(ackCallback);

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,14 +27,14 @@
2727
import org.springframework.aop.support.NameMatchMethodPointcutAdvisor;
2828
import org.springframework.beans.factory.BeanCreationException;
2929
import org.springframework.context.Lifecycle;
30+
import org.springframework.integration.StaticMessageHeaderAccessor;
31+
import org.springframework.integration.acks.AckUtils;
32+
import org.springframework.integration.acks.AcknowledgmentCallback;
3033
import org.springframework.integration.aop.AbstractMessageSourceAdvice;
3134
import org.springframework.integration.context.ExpressionCapable;
3235
import org.springframework.integration.core.MessageSource;
3336
import org.springframework.integration.core.MessagingTemplate;
3437
import org.springframework.integration.history.MessageHistory;
35-
import org.springframework.integration.support.AckUtils;
36-
import org.springframework.integration.support.AcknowledgmentCallback;
37-
import org.springframework.integration.support.StaticMessageHeaderAccessor;
3838
import org.springframework.integration.support.context.NamedComponent;
3939
import org.springframework.integration.support.management.TrackableComponent;
4040
import org.springframework.integration.transaction.IntegrationResourceHolder;

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
import org.springframework.beans.factory.BeanFactory;
2323
import org.springframework.context.Lifecycle;
2424
import org.springframework.core.convert.ConversionService;
25-
import org.springframework.integration.util.MessagingMethodInvokerHelper;
25+
import org.springframework.integration.handler.support.MessagingMethodInvokerHelper;
2626
import org.springframework.messaging.Message;
2727
import org.springframework.messaging.MessageHandlingException;
2828

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717
package org.springframework.integration.handler.advice;
1818

1919
import org.springframework.core.AttributeAccessor;
20+
import org.springframework.integration.core.ErrorMessagePublisher;
2021
import org.springframework.integration.support.DefaultErrorMessageStrategy;
21-
import org.springframework.integration.support.ErrorMessagePublisher;
2222
import org.springframework.integration.support.ErrorMessageStrategy;
2323
import org.springframework.integration.support.ErrorMessageUtils;
2424
import org.springframework.messaging.Message;
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2017 the original author or authors.
2+
* Copyright 2017-2018 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
1414
* limitations under the License.
1515
*/
1616

17-
package org.springframework.integration.config;
17+
package org.springframework.integration.handler.support;
1818

1919
import java.util.ArrayList;
2020
import java.util.Collections;

spring-integration-core/src/main/java/org/springframework/integration/util/MessagingMethodInvokerHelper.java renamed to spring-integration-core/src/main/java/org/springframework/integration/handler/support/MessagingMethodInvokerHelper.java

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

17-
package org.springframework.integration.util;
17+
package org.springframework.integration.handler.support;
1818

1919
import java.lang.annotation.Annotation;
2020
import java.lang.reflect.Method;
@@ -70,15 +70,16 @@
7070
import org.springframework.integration.annotation.Payloads;
7171
import org.springframework.integration.annotation.ServiceActivator;
7272
import org.springframework.integration.annotation.UseSpelInvoker;
73-
import org.springframework.integration.config.HandlerMethodArgumentResolversHolder;
7473
import org.springframework.integration.context.IntegrationContextUtils;
75-
import org.springframework.integration.handler.support.CollectionArgumentResolver;
76-
import org.springframework.integration.handler.support.MapArgumentResolver;
77-
import org.springframework.integration.handler.support.PayloadExpressionArgumentResolver;
78-
import org.springframework.integration.handler.support.PayloadsArgumentResolver;
7974
import org.springframework.integration.support.MutableMessage;
8075
import org.springframework.integration.support.json.JsonObjectMapper;
8176
import org.springframework.integration.support.json.JsonObjectMapperProvider;
77+
import org.springframework.integration.util.AbstractExpressionEvaluator;
78+
import org.springframework.integration.util.AnnotatedMethodFilter;
79+
import org.springframework.integration.util.ClassUtils;
80+
import org.springframework.integration.util.FixedMethodFilter;
81+
import org.springframework.integration.util.MessagingAnnotationUtils;
82+
import org.springframework.integration.util.UniqueMethodFilter;
8283
import org.springframework.messaging.Message;
8384
import org.springframework.messaging.MessageHandlingException;
8485
import org.springframework.messaging.MessageHeaders;

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

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

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

19+
import java.lang.reflect.Method;
1920
import java.util.Arrays;
2021
import java.util.HashMap;
2122
import java.util.Map;
@@ -32,8 +33,7 @@
3233
import org.springframework.context.ApplicationContextAware;
3334
import org.springframework.integration.core.MessageSource;
3435
import org.springframework.integration.support.management.IntegrationManagement.ManagementOverrides;
35-
import org.springframework.integration.support.management.micrometer.MicrometerMetricsCaptor;
36-
import org.springframework.integration.util.PatternMatchUtils;
36+
import org.springframework.integration.support.utils.PatternMatchUtils;
3737
import org.springframework.messaging.MessageChannel;
3838
import org.springframework.messaging.MessageHandler;
3939
import org.springframework.util.Assert;
@@ -212,9 +212,20 @@ public void afterSingletonsInstantiated() {
212212
Assert.state(this.applicationContext != null, "'applicationContext' must not be null");
213213
Assert.state(MANAGEMENT_CONFIGURER_NAME.equals(this.beanName), getClass().getSimpleName()
214214
+ " bean name must be " + MANAGEMENT_CONFIGURER_NAME);
215+
ClassLoader classLoader = IntegrationManagementConfigurer.class.getClassLoader();
215216
if (ClassUtils.isPresent("io.micrometer.core.instrument.MeterRegistry",
216-
IntegrationManagementConfigurer.class.getClassLoader())) {
217-
this.metricsCaptor = MicrometerMetricsCaptor.loadCaptor(this.applicationContext);
217+
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+
}
218229
}
219230
if (this.metricsCaptor != null) {
220231
injectCaptor();

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@
1717
package org.springframework.integration.support.management;
1818

1919
import org.springframework.context.Lifecycle;
20-
import org.springframework.integration.endpoint.MessageSourceManagement;
2120

2221
/**
2322
* An extension to {@link LifecycleMessageSourceMetrics} for sources that implement {@link MessageSourceManagement}.

0 commit comments

Comments
 (0)