我试图弄清楚如何获取基于时间的流,但是要获取无限的流。原因很简单:每单位时间的Web服务调用延迟结果。

但是,这意味着我将不得不终止流(据我目前的了解),这不是我想要的。

换句话说:如果在1分钟的间隔内有10个WS呼叫进入,我希望将其延迟结果的列表/流(按顺序)传递给流处理。但是显然,我希望在那时想再次调用处理器的更多WS调用。

我完全可能会误解这一点。我曾考虑过使用Collectors.groupBy(x -> someTimeGrouping)(因此所有调用都按照我选择的任何测量间隔进行分组。但是直到我调用关闭函数作为监视过程的结束点时,代码才意识到这一点。

只是尝试通过应用到先前的代码来学习Java 8

最佳答案

根据定义和构造,流只能使用一次,因此,如果将结果发送到无限流,则将不能多次访问它们。根据您的描述,将延迟结果存储在一个集合(如ArrayList)中似乎更有意义,并且当您需要分析数据时,可以使用流功能对其进行分组。

关于java - 基于时间的流,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23744024/

10-11 18:41