我在Spring Webflow中的阻塞操作出错了。我检索地址文档的Mono列表,并使用此地址文档的Mono列表来形成街道地址(带有Street),如下所示:
Mono<List<Address>> docs = getAddress(id, name);
AddressResponse addrResponse = new AddressResponse.Builder().
withStreet(docs.map(doc -> doc.stream().
map(StreetAddress::map).
collect(Collectors.toList())).block()).
build();
地图方法:
public static StreetAddress map(Address addr) {
return new Builder().
withId(addr.getId()).
withStreet(addr.getStreetAddress()).
build();
}
当我执行上述代码时,它抛出一个“block()/blockFirst()/brockLast()are-blocking,这在线程reactor-http-nio-2中不受支持”。你能建议一下如何修理吗。我想在不阻止它的情况下检索AddressResponse。此响应将进一步用于响应实体中的代码,如下所示:
return Mono.just(ResponseEntity
.status(HttpStatus.OK)
.body(addrResponse)));
问题是你试图混合反应式和命令式代码。相反,只需将其映射到反应管道中:
Mono<AddressResponse> response = docs.map(addresses->{
return new AddressResponse.Builder()
.withStreet(addresses -> addresses.stream()
.map(StreetAddress::map)
.collect(Collectors.toList()))
.build();
})
然后您可以按原样返回它,或将其映射到Mono
我正在尝试使用WebTest客户端发布数据,但不幸的是,这样的消息被抛出: 为什么会这样?,我不能阻止值,还是邮政编码有问题?我对这种反应式抽象完全陌生,WebTestClient的这种实现使用了非反应式方法。以下是失败的代码: 这里postAndVerify失败: 创建方法的实现如下所示:
I使用SpringSpring靴2.1.0。 在其他bean中调用此方法 我需要传递一个字符串值,而不是Mono,当我传递Mono时,答案是空的。 当我试图从Mono获取字符串值时,我得到了一个错误: 如果有人有解决办法,我会很感激
我正在尝试从进行HTTP调用。该调用在post man中工作正常,下面是调用的版本, 但是我试图使用进行相同的调用。 但是,应用程序正在抛出异常, JAVAlang.IllegalStateException:block()/blockFirst()/blockLast()正在阻塞,这在thread reactor-http-nio-3中不受支持 这里出了什么问题?我对反应式编程非常陌生,谷歌对这
我试图添加一个新的块到游戏中,每边都有不同的纹理,它会抛出一个错误异常加载模型的变体。 我有其他具有类似命名约定的块,这些块工作正常,但在所有方面都具有相同的纹理。 游戏中的方块正确显示了“燃烧”和“朝向”状态,但没有显示纹理。
我正在尝试实现线程,其中一个线程生成随机数,而另一个线程等待,一旦它生成随机数,它应该通知并等待另一个线程也这样做。我收到了非法的监控状态异常,请帮我指出我的错误。
我在Spring Webflow中执行阻塞操作时遇到了一个小问题。我检索文章文档列表,并从文章文档列表中,我想更新另一个对象。 当我执行以下操作时,有时它会工作,有时会抛出“block()/block First()/block Last()被阻塞,这在线程reactor-超文本传输协议-nio-2中是不支持的”。你能建议如何修复吗?我真的不想让它阻塞,但不知道如何继续。stackoverflow