我有返回convert Java . util . concurrent . future的遗留代码,现在我应该将这个方法调用包装在一个返回reactor publishers Mono或Flux的层中。我相信转换到它们中任何一个的方法应该是相似的,那么什么是转换到单声道的正确方法呢?
例如,假设我从API获得未来,我需要Mono
您可以使用Future::get
作为Mono::fromSupply ier
中的供应商。像这样,Mono.fromSupplier(Future::get)
。
考虑到从<code>未来</code>获得结果总是会被阻塞,一种可能的解决方案是将该计算转移到阻塞友好的调度器。
Mono.fromCallable(() -> {
try {
Future future = null;
return future.get();
} catch (Exception e) {
throw new RuntimeException(e);
}
}).subscribeOn(Schedulers.boundedElastic());
您可以使用BlockHound验证您的代码是否有效无阻塞 https://github.com/reactor/BlockHound
我有一个对象,我想将其转换为
我试图使用以下公式将Future[Seq[(String,String)]转换为Future[Seq[(String)]: 所以 sortedSeq 是 Future[Seq[(String, String)]] 但我一直得到错误: 我做错了什么?
我正在尝试转换
标题说明了一切: null 编辑:工作示例要简单得多(多亏了@T.S.): 谢谢!
我以前有个可打电话的课 我曾经使用提交。如何更改为使用
有人能帮助我吗? 我正在编写客户端-服务器应用程序。服务器和客户端与websockets连接。服务器的管道: 客户端的管道: 这个应用程序就像一个代理服务器,从外部获取httprequest,然后通过websockets发送给客户端。客户端接收它并将其发送到修改后的指定url,接收响应并通过websockets将其发送回服务器。服务器收到此响应,并将数据写入请求它的通道。 目前的主要问题是,将Ht