From ecb7d03895c19f823d727594e629f62d19fbf3c6 Mon Sep 17 00:00:00 2001 From: Artem Bilan Date: Wed, 21 Jun 2017 10:43:36 -0400 Subject: [PATCH] Upgrade to the latest SF and fix HTTP Reactive https://build.spring.io/browse/INT-FATS5IC-206/ Also use `AopUtils.getTargetClass()` directly in the `ReactiveHttpRequestExecutingMessageHandler` since it never returns `null` --- build.gradle | 2 +- .../annotation/MessagingAnnotationPostProcessor.java | 8 ++------ .../ReactiveHttpRequestExecutingMessageHandler.java | 2 +- 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/build.gradle b/build.gradle index 3c5409f9e8..1a5ca9bd1a 100644 --- a/build.gradle +++ b/build.gradle @@ -138,7 +138,7 @@ subprojects { subproject -> springSecurityVersion = '5.0.0.M2' springSocialTwitterVersion = '2.0.0.M2' springRetryVersion = '1.2.0.RELEASE' - springVersion = project.hasProperty('springVersion') ? project.springVersion : '5.0.0.RC2' + springVersion = project.hasProperty('springVersion') ? project.springVersion : '5.0.0.BUILD-SNAPSHOT' springWsVersion = '2.4.0.RELEASE' tomcatVersion = "8.5.14" xmlUnitVersion = '1.6' diff --git a/spring-integration-core/src/main/java/org/springframework/integration/config/annotation/MessagingAnnotationPostProcessor.java b/spring-integration-core/src/main/java/org/springframework/integration/config/annotation/MessagingAnnotationPostProcessor.java index 67a0c56198..82c89121ff 100644 --- a/spring-integration-core/src/main/java/org/springframework/integration/config/annotation/MessagingAnnotationPostProcessor.java +++ b/spring-integration-core/src/main/java/org/springframework/integration/config/annotation/MessagingAnnotationPostProcessor.java @@ -148,7 +148,8 @@ public class MessagingAnnotationPostProcessor implements BeanPostProcessor, Bean @Override public Object postProcessAfterInitialization(final Object bean, final String beanName) throws BeansException { Assert.notNull(this.beanFactory, "BeanFactory must not be null"); - final Class beanClass = this.getBeanClass(bean); + + Class beanClass = AopUtils.getTargetClass(bean); ReflectionUtils.doWithMethods(beanClass, method -> { Map, List> annotationChains = new HashMap<>(); @@ -260,11 +261,6 @@ public class MessagingAnnotationPostProcessor implements BeanPostProcessor, Bean return false; } - protected Class getBeanClass(Object bean) { - Class targetClass = AopUtils.getTargetClass(bean); - return (targetClass != null) ? targetClass : bean.getClass(); - } - protected String generateBeanName(String originalBeanName, Method method, Class annotationType) { String baseName = originalBeanName + "." + method.getName() + "." diff --git a/spring-integration-http/src/main/java/org/springframework/integration/http/outbound/ReactiveHttpRequestExecutingMessageHandler.java b/spring-integration-http/src/main/java/org/springframework/integration/http/outbound/ReactiveHttpRequestExecutingMessageHandler.java index ced72726d1..56de77a6d3 100644 --- a/spring-integration-http/src/main/java/org/springframework/integration/http/outbound/ReactiveHttpRequestExecutingMessageHandler.java +++ b/spring-integration-http/src/main/java/org/springframework/integration/http/outbound/ReactiveHttpRequestExecutingMessageHandler.java @@ -119,7 +119,7 @@ public class ReactiveHttpRequestExecutingMessageHandler extends AbstractHttpRequ WebClient.RequestBodySpec requestSpec = this.webClient.method(httpMethod) .uri(b -> uriSupplier.get()) - .headers(httpRequest.getHeaders()); + .headers(headers -> headers.putAll(httpRequest.getHeaders())); if (httpRequest.hasBody()) { requestSpec.body(BodyInserters.fromObject(httpRequest.getBody()));