我的理解是单声道
我说得对吗?
如果没有,单声道之间的区别是什么
Momo是有界的,而通量不是有界的。
单声道
Mono和Flux都是反应流规范中指定的发布者接口的反应器实现。
反应器Mono类:公共抽象类Mono
Reactor单级:<代码>公共抽象级通量
Flux不能是rest api响应。当然,通量可以用作REST API的响应类型。通过使用Flux作为返回类型,您可以轻松地从异步处理切换到同步处理。如果使用Spring Boot,您甚至可以将APIendpoint的内容类型更改为@Brian提到的应用程序/流json,从而将数据流传输给您的消费者。
请注意,Flux和Mono是非阻塞的,这意味着您可以更有效地使用工作线程(计算机资源)。
Mono
如果您从HTTP客户端(如WebClient)获取此类返回类型
另一方面,如果返回的内容类型是流式类型,例如“application/stream json”
,那么这肯定会产生影响,因为您将一个接一个地获取元素。事实上,如果返回的流是无限的,那么选择Flux
我们使用的是Spring数据,当我们调用时,我们收到的是
问题方法需要等待单声道操作结果,在通量操作中使用,并返回通量。 研究我希望流被Mongo反应驱动订阅并终止,所以我不订阅。如果我使用我有单声道 任务如何等待值,在通量操作中使用它并从中获取通量?
我有一个简单的任务。我想在订单中添加产品。 我还想实现的是返回更新的订单。下面的代码不能像我希望的那样工作。有时所有的产品都被保存,有时一个也没有。我使用的数据库是被动mongo。
webflux包中发生了有趣的事情。然而,我在源头的旅程并没有解决以下问题。 假设我有以下单声道(或通量): 我在webfilter中使用类似的构造,用租户和用户数据丰富管道。然后在控制器中使用如下构造: hello mono的上下文填充在world mono中。我试图弄清楚这是如何做到的,也是为了单元测试的目的。 最后,这仍然是一个谜。我试图用单声道/通量对象上可用的常规方法来做到这一点,但是我
我有两项要求: 有了这些,我想做以下工作: 当我调用它时,我得到以下输出: 当然,由于异步单声道映射,流在结果实际出现之前就关闭了。我怎样才能保持这个非阻塞,但也确保结果在调用上完成之前到达?