首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在RxJava2中,Publisher和Flowable的Mutiny等价物是什么

在RxJava2中,Publisher和Flowable的Mutiny等价物是什么
EN

Stack Overflow用户
提问于 2020-04-25 01:51:44
回答 2查看 220关注 0票数 0

我想创建一个可以将对象推送到其中的buffering Multi。Multi用作REST端点的结果。

到目前为止,我所拥有的是:

代码语言:javascript
复制
    class MyService {
        private PublishProcessor<String> deviceStatusProcessor = PublishProcessor.create();
        private Flowable<String> deviceStatusQueue = Flowable.fromPublisher(deviceStatusProcessor);

        public void pushDeviceStatus(DeviceStatus deviceStatus) {
            deviceStatusProcessor.onNext(deviceStatus);
        }

        public Multi<String> getStream() {
            return Multi.createFrom().publisher(deviceStatusQueue);
        }
    }

然而,这段代码混合了RxJava和Mutiny。Publisher和Flowable的Mutiny等价物是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-04-29 22:18:18

看起来BoadcastProcessor等同于PublishProcessor。还有UnicastProcessor,它有缓冲,但只推送到一个订阅者。

票数 1
EN

Stack Overflow用户

发布于 2020-09-18 15:03:42

这取决于你想做什么。

默认情况下,Multi不会发出任何东西,直到有一个订阅,在您的情况下,我相信这将是REST端点(每个接收到的请求一个订阅)。

UnicastProcessor以无界的方式存储所有发出的项。因此,请注意,如果有物品但没有人消费,如果不小心使用,可能会导致OutOfMemoryException

BroadcastProcessor不存储项目,而是将它们分派给多个订阅者。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61414463

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档