Upgrade to Reactor 3.1.0.M2

https://build.spring.io/browse/INT-FATS5IC-197/
This commit is contained in:
Artem Bilan
2017-06-12 11:56:27 -04:00
parent 9c7c6dccfc
commit 6e38ed1dae
2 changed files with 10 additions and 9 deletions

View File

@@ -125,7 +125,7 @@ subprojects { subproject ->
pahoMqttClientVersion = '1.1.1'
postgresVersion = '42.0.0'
reactorNettyVersion = '0.6.4.RELEASE'
reactorVersion = '3.1.0.M1'
reactorVersion = '3.1.0.M2'
romeToolsVersion = '1.7.2'
servletApiVersion = '3.1.0'
slf4jVersion = "1.7.25"
@@ -310,7 +310,7 @@ project('spring-integration-core') {
compile("com.esotericsoftware:kryo-shaded:$kryoShadedVersion", optional)
testCompile ("org.aspectj:aspectjweaver:$aspectjVersion")
compile "io.projectreactor.addons:reactor-test:$reactorVersion"
compile "io.projectreactor:reactor-test:$reactorVersion"
}
}

View File

@@ -21,17 +21,18 @@ import java.util.function.Supplier;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.core.ParameterizedTypeReference;
import org.springframework.core.ResolvableType;
import org.springframework.expression.Expression;
import org.springframework.expression.common.LiteralExpression;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpMethod;
import org.springframework.http.HttpStatus;
import org.springframework.http.ReactiveHttpInputMessage;
import org.springframework.http.ResponseEntity;
import org.springframework.integration.expression.ValueExpression;
import org.springframework.messaging.Message;
import org.springframework.messaging.MessageHandler;
import org.springframework.util.Assert;
import org.springframework.web.reactive.function.BodyExtractor;
import org.springframework.web.reactive.function.BodyExtractors;
import org.springframework.web.reactive.function.BodyInserters;
import org.springframework.web.reactive.function.client.ClientResponse;
@@ -135,22 +136,22 @@ public class ReactiveHttpRequestExecutingMessageHandler extends AbstractHttpRequ
});
if (isExpectReply()) {
ResolvableType responseType;
BodyExtractor<? extends Mono<?>, ReactiveHttpInputMessage> bodyExtractor;
if (expectedResponseType instanceof ParameterizedTypeReference<?>) {
responseType = ResolvableType.forType(((ParameterizedTypeReference<?>) expectedResponseType).getType());
bodyExtractor = BodyExtractors.toMono((ParameterizedTypeReference<?>) expectedResponseType);
}
else if (expectedResponseType != null) {
responseType = ResolvableType.forClass((Class<?>) expectedResponseType);
bodyExtractor = BodyExtractors.toMono((Class<?>) expectedResponseType);
}
else {
responseType = null;
bodyExtractor = null;
}
return responseMono
.map(response ->
new ResponseEntity<>(responseType != null
? response.body(BodyExtractors.toMono(responseType)).block()
new ResponseEntity<>(bodyExtractor != null
? response.body(bodyExtractor).block()
: null,
response.headers().asHttpHeaders(),
response.statusCode()))