为Ignite缓存中的每个项目运行共同编码的代码块

时间:2016-09-26 19:11:35

标签: scala ignite

我想为Ignite缓存中的每个值运行一段代码。该块可以实现为从缓存中获取值的函数,并返回void(单位)结果。我希望计算与数据并置,这样在查询时不会通过网络传输任何值。

我找到了IgniteCache::query功能,但这并不是我想要的。问题是query需要ScanQuery封装IgniteBiPredicate,这是一个返回布尔值的函数。我对评估谓词或返回值不感兴趣。我的函数仅针对其副作用进行评估(在我的情况下,向另一个系统发出API请求)。

更简单地说,IgniteCache::query就像filter,但我想要一个foreach

1 个答案:

答案 0 :(得分:1)

您可以广播闭包[1]并使用IgniteCache.localEntries()方法迭代每个节点上的本地数据。

[1] https://apacheignite.readme.io/docs/distributed-closures#broadcast-methods