From e1bfd6ae5683025eab87edc99d30efbe98cea345 Mon Sep 17 00:00:00 2001 From: Yuriy Dvorzhetskiy Date: Sat, 13 Nov 2021 23:51:30 +0300 Subject: [PATCH] Sources update --- .../src/main/java/ru/otus/spring/Main.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/2021-08/spring-19/spring-19-reactive-spring-data/src/main/java/ru/otus/spring/Main.java b/2021-08/spring-19/spring-19-reactive-spring-data/src/main/java/ru/otus/spring/Main.java index 5929a2e2..e68a7f08 100644 --- a/2021-08/spring-19/spring-19-reactive-spring-data/src/main/java/ru/otus/spring/Main.java +++ b/2021-08/spring-19/spring-19-reactive-spring-data/src/main/java/ru/otus/spring/Main.java @@ -3,9 +3,13 @@ package ru.otus.spring; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.ApplicationContext; +import reactor.core.publisher.Flux; +import ru.otus.spring.domain.Person; import ru.otus.spring.repostory.AccountRepository; import ru.otus.spring.repostory.PersonRepository; +import java.util.List; + @SpringBootApplication public class Main { @@ -15,6 +19,24 @@ public class Main { PersonRepository repository = context.getBean(PersonRepository.class); AccountRepository accountRepository = context.getBean(AccountRepository.class); + var persons = List.of( + new Person("Pushkin"), + new Person("Lermontov")); + + // subscribe блокирует текущий поток и дожидается Flux + repository.saveAll(persons) + .subscribe(); + + // а вот это уже неблокирующий subscribe + repository.findAll() + .map(Person::getName) + .subscribe(System.out::println); + + // Пример объединения двух Flux + Flux.merge(repository.findAll(), repository.findAll()) + .map(Person::getName) + .subscribe(System.out::println); + Thread.sleep(20000); } }