当前位置: 首页 > 知识库问答 >
问题:

Springwebflux中单声道与通量的差异

邬浩涆
2023-03-14

我的理解是单声道

我说得对吗?

如果没有,单声道之间的区别是什么

共有2个答案

孟思远
2023-03-14
  • <代码>单声道

Momo是有界的,而通量不是有界的。

单声道

Mono和Flux都是反应流规范中指定的发布者接口的反应器实现。

反应器Mono类:公共抽象类Mono

Reactor单级:<代码>公共抽象级通量

Flux不能是rest api响应。当然,通量可以用作REST API的响应类型。通过使用Flux作为返回类型,您可以轻松地从异步处理切换到同步处理。如果使用Spring Boot,您甚至可以将APIendpoint的内容类型更改为@Brian提到的应用程序/流json,从而将数据流传输给您的消费者。

请注意,Flux和Mono是非阻塞的,这意味着您可以更有效地使用工作线程(计算机资源)。

令狐昌胤
2023-03-14
  • 作为返回类型,Mono

如果您从HTTP客户端(如WebClient)获取此类返回类型

另一方面,如果返回的内容类型是流式类型,例如“application/stream json”,那么这肯定会产生影响,因为您将一个接一个地获取元素。事实上,如果返回的流是无限的,那么选择Flux

 类似资料:
  • 我们使用的是Spring数据,当我们调用时,我们收到的是

  • 问题方法需要等待单声道操作结果,在通量操作中使用,并返回通量。 研究我希望流被Mongo反应驱动订阅并终止,所以我不订阅。如果我使用我有单声道 任务如何等待值,在通量操作中使用它并从中获取通量?

  • 我有一个简单的任务。我想在订单中添加产品。 我还想实现的是返回更新的订单。下面的代码不能像我希望的那样工作。有时所有的产品都被保存,有时一个也没有。我使用的数据库是被动mongo。

  • webflux包中发生了有趣的事情。然而,我在源头的旅程并没有解决以下问题。 假设我有以下单声道(或通量): 我在webfilter中使用类似的构造,用租户和用户数据丰富管道。然后在控制器中使用如下构造: hello mono的上下文填充在world mono中。我试图弄清楚这是如何做到的,也是为了单元测试的目的。 最后,这仍然是一个谜。我试图用单声道/通量对象上可用的常规方法来做到这一点,但是我

  • 我有两项要求: 有了这些,我想做以下工作: 当我调用它时,我得到以下输出: 当然,由于异步单声道映射,流在结果实际出现之前就关闭了。我怎样才能保持这个非阻塞,但也确保结果在调用上完成之前到达?