Я понял, что при запуске графа Akka Stream материализуется самый правый компонент.
Но при этом:
Source.range(1,100).to(Sink.reduce((a,b) -> a+b)).run(materializer);
материализуется NotUsed
, хотя самый левый компонент - это приемник, который возвращает целое число.
Тем не менее, выполнение того же с runWith
работает нормально:
Source.range(1, 100).runWith(Sink.reduce((a, b) -> a + b), materializer)
.thenAccept(value -> LOGGER.info("The final value is {}", value));
Что я не очень хорошо понял в run
метод?