FluxProcessor:检索订阅时最后发出的值,如 rx 的主题

目前,FluxProcessor订阅仅检索订阅后发出的那些值。但我想在订阅时检索 Flux 中的最后一个值,例如,就像 RXSubject所做的那样。


我有这个设置:


FluxProcessor<Integer, Integer> processor = DirectProcessor.<Integer>create().serialize();

FluxSink<Integer> sink = processor.sink();


sink.next(1);


stateProcessor.subscribe(System.out:println);


sink.next(2);

输出是:


1

期望的输出:


1

2


慕仙森
浏览 110回答 1
1回答

月关宝盒

使用修复它ReplayProcessor。它能够存储 N 个最后发出的值以供进一步订阅。对于同一个例子:FluxProcessor<Integer, Integer> processor = ReplayProcessor.<Integer>create(1).serialize(); //1 is the history sizeFluxSink<Integer> sink = processor.sink();sink.next(1);stateProcessor.subscribe(System.out:println);sink.next(2);印刷:12
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java