From 7c5c0c34c3ebf5be541de4cad0ebff59ee752bab Mon Sep 17 00:00:00 2001 From: Oleg Zhurakousky Date: Wed, 16 Feb 2022 10:08:37 +0100 Subject: [PATCH] GH-2282 Ensure BeanPostProcessors do not triger early initialization Also, removed dead references and comments to legacy post processors Resolves #2282 --- .../stream/binding/BinderAwareRouter.java | 3 +-- .../config/BindingServiceConfiguration.java | 19 +------------------ 2 files changed, 2 insertions(+), 20 deletions(-) diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BinderAwareRouter.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BinderAwareRouter.java index 8dd72b804..e3b238044 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BinderAwareRouter.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/binding/BinderAwareRouter.java @@ -16,13 +16,12 @@ package org.springframework.cloud.stream.binding; -import org.springframework.beans.factory.config.BeanPostProcessor; import org.springframework.integration.router.AbstractMappingMessageRouter; import org.springframework.messaging.MessageChannel; import org.springframework.messaging.core.DestinationResolver; /** - * A {@link BeanPostProcessor} that sets a BinderAwareChannelResolver on any bean + * Sets a BinderAwareChannelResolver on any bean * of type {@link AbstractMappingMessageRouter} within the context. * * @author Mark Fisher diff --git a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindingServiceConfiguration.java b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindingServiceConfiguration.java index f3084e0c0..3c1989f5f 100644 --- a/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindingServiceConfiguration.java +++ b/spring-cloud-stream/src/main/java/org/springframework/cloud/stream/config/BindingServiceConfiguration.java @@ -88,12 +88,6 @@ import org.springframework.util.ObjectUtils; @ConditionalOnBean(value = BinderTypeRegistry.class, search = SearchStrategy.CURRENT) public class BindingServiceConfiguration { - /** - * Name of the Spring Cloud Stream stream listener annotation bean post processor. - */ - public static final String STREAM_LISTENER_ANNOTATION_BEAN_POST_PROCESSOR_NAME = "streamListenerAnnotationBeanPostProcessor"; - - @Autowired(required = false) private Collection binderFactoryListeners; @@ -155,7 +149,7 @@ public class BindingServiceConfiguration { } @Bean - public BeanPostProcessor globalErrorChannelCustomizer() { + public static BeanPostProcessor globalErrorChannelCustomizer() { return new BeanPostProcessor() { @Override public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException { @@ -237,17 +231,6 @@ public class BindingServiceConfiguration { return new DynamicDestinationsBindable(); } -// @Bean -// @ConditionalOnMissingBean -// public BinderAwareRouter binderAwareRouterBeanPostProcessor( -// @Autowired(required = false) List routers, -// @Autowired(required = false) @Qualifier("binderAwareChannelResolver") -// DestinationResolver channelResolver) { -// final AbstractMappingMessageRouter[] routersArray = CollectionUtils.isEmpty(routers) ? -// new AbstractMappingMessageRouter[]{} : routers.toArray(new AbstractMappingMessageRouter[]{}); -// return new BinderAwareRouter(routersArray, channelResolver); -// } - @Bean public ApplicationListener appListener( SpringIntegrationProperties springIntegrationProperties) {