Мне нужно объяснение этих двух методов из проекта Reactor
docs-link
Подготовьте ConnectableFlux, который разделяет эту последовательность Flux и отправляет значения подписчикам с учетом противодавления.
ConnectableFlux<T> publish()
И
Подготовьте ConnectableFlux, который разделяет эту последовательность Flux и отправляет значения подписчикам с учетом противодавления.
ConnectableFlux<T> publish(int prefetch)
Мраморные диаграммы одинаковы дляи то и другое.Для чего нужен параметр int prefetch
Я запускаю эти примеры, и результаты совпадают
public static void publish() throws InterruptedException {
Flux fl = Flux.just(1, 2, 3, 4, 5, 6)
.delayElements(Duration.ofSeconds(1))
.publish()
.autoConnect();
fl.subscribe(printing);
Thread.sleep(4000);
fl.subscribe(printing);
}
public static void publishWithPrefetch() throws InterruptedException {
Flux fl = Flux.just(1, 2, 3, 4, 5, 6)
.delayElements(Duration.ofSeconds(1))
.publish(2)
.autoConnect();
fl.subscribe(printing);
Thread.sleep(4000);
fl.subscribe(printing);
}