我正在尝试找出如何获得基于时间的流,但在无限流上。原因很简单:单位时间的 Web 服务调用延迟结果。
但是,这意味着我必须终止流(按照我目前的理解),而这不是我想要的。
换言之:如果在 1 分钟间隔内传入 10 个 WS 调用,我希望将其延迟结果的列表/流(按顺序)传递给流处理。但显然,我希望收到更多 WS 调用,此时我想再次调用处理器。
我可能完全误解了这一点。我曾想过使用Collectors.groupBy(x -> someTimeGrouping)
(因此所有调用都按我选择的任何测量间隔进行分组。但是,直到我将关闭函数调用为监控过程在哪一点完成。
只是想通过应用以前的代码来学习java 8
最佳答案
根据定义和构造,流只能使用一次,因此如果将结果发送到无限流,您将无法多次访问它们。根据您的描述,将延迟结果存储在集合(例如 ArrayList)中似乎更有意义,并且当您需要分析数据时,使用流功能对它们进行分组。
关于java - 基于时间的流媒体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23744024/