Существует лучший способ (не поддерживается на 100%) с интерфейсом Scannable
:
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)
возвращает NO-OP Scannable
, если объект, который вы передаете, на самом деле не Scannable
.