java.lang.NoSuchMethodError:'React器.实用程序.上下文.上下文视图React器.核心.发布者. MonoSink.上下文视图()'

izkcnapc  于 2023-03-06  发布在  Java
关注(0)|答案(3)|浏览(317)

升级后的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);
}
0wi1tuuw

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

t9eec4r0

t9eec4r02#

升级您的pom.xml

<dependency>
    <groupId>io.projectreactor</groupId>
    <artifactId>reactor-core</artifactId>
    <version>3.4.3</version>
</dependency>
guicsvcw

guicsvcw3#

升级pom.xml

<dependency>
    <groupId>io.projectreactor</groupId>
    <artifactId>reactor-core</artifactId>
    <version>3.5.3</version>
</dependency>

相关问题