给定一个 Fluxes 列表,我想确定哪些在列表中的其他通量上游,哪些不是。一种让每个通量上游发布者的方法可以解决问题,但我愿意接受其他建议。
另外,是否可以检测通量之间的循环依赖关系?我只想允许创建 DAG。
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()
递归查找宣传PARENT
Scannable
,我认为大多数反应堆核心运营商都应该这样做。
Scannable.from(foo)
返回一个 NO-OPScannable
,如果您传递的对象实际上不是Scannable
。