2. intro
combine streams with: Flux.merge
, Flux.zip
, Flux.first
, …
create streams with: Flux.just
, Flux.fromIterable
, Flux.range
, Flux.interval
, …
transform streams with: Flux.skip
, Flux.map
, Flux.flatMap
, Flux.filter
docker / docker-compose
./mvnw
./mvnw package docker-compose:up -P docker
./mvnw docker-compose:down -P docker
./gradlew
./gradlew composeUp
./gradlew composeDown
3. Implementations
links:
build
package daggerok;
import lombok.extern.slf4j.Slf4j;
import reactor.core.publisher.Flux;
@Slf4j
public class App {
public static void main(String[] args) {
Flux.range(0, 10)
.map(integer -> integer * integer)
.filter(integer -> integer % 3 != 0)
.buffer(3)
.subscribe(integers -> log.info("result: {}", integers));
}
}
build
./mvnw -p ./map-filter-buffer/pom.xml
java -jar ./map-filter-buffer/target/*-all.jar
# gradle jar
./gradlew -b ./map-filter-buffer/build.gradle
java -jar ./map-filter-buffer/build/libs/*-all.jar
build
package daggerok;
import lombok.extern.slf4j.Slf4j;
import reactor.core.publisher.Flux;
@Slf4j
public class App {
public static void main(String[] args) {
Flux.range(0, 10)
.map(integer -> integer * integer)
.filter(integer -> integer % 3 != 0)
.retry()
.subscribe(integers -> log.info("result: {}", integers));
}
}
build
./mvnw -p ./map-filter-retry/pom.xml
java -jar ./map-filter-retry/target/*-all.jar
# gradle jar
./gradlew -b ./map-filter-retry/build.gradle
java -jar ./map-filter-retry/build/libs/*-all.jar