升级后的Spring Boot版本从2.6.6到2.6.7,我得到下面的错误,而执行Web客户端的休息调用。
样本代码
public void execute(BiConsumer<ResponseEntity<JsonNode>, Throwable> responseConsumer) {
WebClient.RequestBodyUriSpec uriSpec = getUriSpec();
Mono<ResponseEntity<JsonNode>> responseEntityMono = uriSpec
.uri(this::buildUri)//"localhost:1234")//
.headers(this::setHeaders)
.body(insertBody())
.retrieve().onRawStatus(i -> i == 599,
response -> response.bodyToMono(String.class)
.map(body -> new ExternalException(599, body)))
.toEntity(JsonNode.class);
CompletableFuture<ResponseEntity<JsonNode>> completableFuture = responseEntityMono.toFuture();
completableFuture.whenCompleteAsync(responseConsumer);
}
3条答案
按热度按时间0wi1tuuw1#
无法找到的方法位于MonoSink类中(在React堆堆芯项目中):https://github.com/reactor/reactor-core/blob/main/reactor-core/src/main/java/reactor/core/publisher/MonoSink.java
由于这是从spring Boot 2.6.6版本升级后得到的异常,我猜找不到它的类是HttpClientConnect(在reactor-netty-http项目中)。
@ jiangjibo说你需要更新reactor-core来解决这个问题,但不是更新到3.4.3版本,这是没错的。它至少应该是3.4.17版本(也就是说,我会选择最新的版本,在撰写本文时是3.4.19)。正如你在3.4.16版本中看到的,contextView()尚未创建:https://github.com/reactor/reactor-core/blob/v3.4.16/reactor-core/src/main/java/reactor/core/publisher/MonoSink.java
t9eec4r02#
升级您的pom.xml
guicsvcw3#
升级pom.xml