Java blockOptional()引发非法状态异常

Java blockOptional()引发非法状态异常,java,spring,spring-boot,spring-webflux,Java,Spring,Spring Boot,Spring Webflux,我有一段代码 java.lang.IllegalStateException: blockOptional() is blocking, which is not supported in thread reactor-http-nio-2 当我通过它发送请求时。预计它将返回一个可选,但当我最后删除.blockOptional()时,它会抱怨现在返回类型是Mono。此外,我还需要删除映射前面的块(转换为异步。是否可以使用替代方法来维护所需的返回类型并删除illegalStateExceptio

我有一段代码

java.lang.IllegalStateException: blockOptional() is blocking, which is not supported in thread reactor-http-nio-2
当我通过它发送请求时。预计它将返回一个
可选
,但当我最后删除
.blockOptional()
时,它会抱怨现在返回类型是
Mono
。此外,我还需要删除
映射前面的
转换为异步。是否可以使用替代方法来维护所需的返回类型并删除illegalStateException错误

              final Mono<DataBuffer> join = DataBufferUtils.join(serverWebExchange.getRequest().getBody()); //put evrthing into mono
              final Mono<DataBuffer> block = join; //make it blocking
              final ObjectMapper objectMapper = new ObjectMapper();
              final Mono<HashMap<String, Object>> body;
              TypeReference<HashMap<String, Object>> typeRef
                    = new TypeReference<HashMap<String, Object>>() {
              };
              body = block.map(it -> {
                  try {
                      return objectMapper.readValue(it.asInputStream(), typeRef);
                  } catch (IOException e) {
                      throw new RuntimeException(" KILLED THE SERVER");
                  }
              }); ////serialisation
              return body.map(it -> URI.create(findWalletInstanceWithUserRef(it.get("playerExternalReference")
                         .toString()))).blockOptional();
final Mono join=DataBufferUtils.join(serverWebExchange.getRequest().getBody());//将evrthing放入Mono
final monoblock=join;//使其阻塞
最终ObjectMapper ObjectMapper=新ObjectMapper();
最终单体;
类型引用类型引用
=新类型引用(){
};
body=block.map(它->{
试一试{
返回objectMapper.readValue(it.asInputStream(),typeRef);
}捕获(IOE异常){
抛出新的RuntimeException(“杀死服务器”);
}
});///序列化
返回body.map(it->URI.create(findWalletInstanceWithUserRef)(it.get(“playerExternalReference”)
.toString()).blockOptional();
如果您有任何意见或建议,我们将不胜感激。谢谢您