[Reactor Practice] Flux

kimchj·2024년 3월 4일

Reactor

목록 보기
1/11

1. Flux.empty():

2. Flux.just(T... data):

3. Flux.fromIterable(Iterable<? extends T> it):

4. Flux.error(Throwable error):

Flux Reactor Practice

package io.pivotal.literx;

//generic imports to help with simpler IDEs (ie tech.io)
import java.util.*;
import java.util.function.*;
import java.time.*;

import reactor.core.publisher.Flux;

/**
 * Learn how to create Flux instances.
 *
 * @author Sebastien Deleuze
 * @see <a href="https://projectreactor.io/docs/core/release/api/reactor/core/publisher/Flux.html">Flux Javadoc</a>
 */
public class Part01Flux {

//========================================================================================

	// TODO Return an empty Flux
	Flux<String> emptyFlux() {
		return Flux.empty();
	}

//========================================================================================

	// TODO Return a Flux that contains 2 values "foo" and "bar" without using an array or a collection
	Flux<String> fooBarFluxFromValues() {
		return Flux.just("foo", "bar");
	}

//========================================================================================

	// TODO Create a Flux from a List that contains 2 values "foo" and "bar"
	Flux<String> fooBarFluxFromList() {
        // List<String> list = new ArrayList<String>();
        // list.add("foo");
        // list.add("bar");

		// return Flux.fromIterable(Arrays.asList(new String[] {"foo", "bar"}));
        // return Flux.fromIterable(list);

        return Flux.fromIterable(Arrays.asList(new String[] {"foo", "bar"}));
	}

//========================================================================================

	// TODO Create a Flux that emits an IllegalStateException
	Flux<String> errorFlux() {
		return Flux.error(new IllegalStateException());
	}

//========================================================================================

		// TODO Create a Flux that emits increasing values from 0 to 9 each 100ms
	Flux<Long> counter() {
		return Flux.interval(Duration.ofMillis(100)).take(10);
	}

}
profile
ㅎㅇ

0개의 댓글