给出通量的列表,我想确定列表中哪些位于上游,哪些不在。可以通过各种方式吸引上游发行商来解决问题,但我愿意接受其他建议。
还可以检测通量之间的循环依存关系吗?我只想创建DAG。
答案 0 :(得分:0)
Scannable
界面提供了一种尽力而为的方式(不支持100%):
Flux<T> fluxToCheck;
List<Flux> potentialParents;
Scannable s = Scannable.from(fluxToCheck);
Stream<Scannable> parents = s
.parents() //this is the important part
.collect(Collectors.toList());
potentialParents.retainAll(parents);
//or some more efficient other tests on the collections
Scannable#parents()
递归查找Scannable
并宣传PARENT
,我认为大多数Reactor核心操作员都应该这样做。
Scannable.from(foo)
,则 Scannable
返回NO-OP Scannable
。