使用每个消耗的唯一值的流

时间:2016-05-24 06:14:37

标签: spring project-reactor

我已将此定义为全局:

Processor<Integer, Integer> p = RingBufferProcessor.create("test", 32);
Stream<List<Integer>> s = Streams.wrap(p).distinct().buffer(5, TimeUnit.SECONDS).log().unbounded();

关于construtor:

s.consume(i -> System.err.println(Thread.currentThread() + " data=" + i));

现在我将此功能调用两次:

for (int i = 0; i < 1000; i++) {
    p.onNext(i % 3);
}

独特的工作正常,我第一次消费。当我再次调用此方法时,他仍然记得不同并且不会触发消耗。

每次消费后,是否有任何选项可以清除不同的颜色。我需要实现的想法是,我将缓冲所有输入,每次我只使用唯一的项目..

有人有任何想法吗?

TNX

1 个答案:

答案 0 :(得分:0)

经过深入搜索,我得出的结论是,我认为这不是一个选择。我设法做的事情是,当我消耗我转换为Set。这种方式每次流消耗时我只使用唯一值