거꾸로 바라본 세상
Spring Reactor 시작하기
Spring 2023. 5. 2. 09:27

Spring Reactor 리액티브 프로그래밍은 일련의 작업 단계를 기술하는 것이 아니라 데이터가 전달될 파이프라인을 구성하여 데이터가 전달되는 동안 어떤 형태로든 변경 또는 사용되는 것. 사람의 이름을 가져와 대문자로 변경 후 출력 String name = "devPaik"; String capitalName = name.toUpperCase(); String greeting = "Hello, "+ capitalName + "!"; System.out.println(greeting); Mono.just("devPaik") .map(n -> n.toUpperCase()) .map(cn -> "Hello," + cn + "!") .subscribe(System.out::println); 위와 같이 리엑티브..

[RxJava] interval
Language/Java 2023. 4. 26. 09:33

interval 지정한 통지 간격(interval)마다 0부터 시작하는 long 타입의 숫자를 데이터로 통지하는 Flowable/Observable을 생성하는 연산자이다. interval 메서드는 별도 설정이 없으면 Schedulers.computation()의 스케줄러에 의해 실행된다. 만약 스케줄러를 변경하려면 인자로 스케줄러를 받는 메서드를 이용한다. 또한 interval 메서드로 생성한 Flowable/Observable은 완료 통지가 필요한 경우 take 메서드를 통해 통지할 데이터 개수를 제한하는 작업을 해야한다. [소스코드] public class Main { public static void main(String[] args) throws Exception { interval(); } st..

[RxJava] range, rangeLong
Language/Java 2023. 4. 26. 09:33

range, rangeLong range 메서드는 지정한 시작 값부터 지정한 개수만큼 하나씩 순서대로 증가하는 Integer 값을 통지 Flowable/Observable을 생성 연산자이고 rangeLong은 Long값을 통지 Flowable/Observable을 생성 연산자이다. ex) 시작 값이 3이고 통지하려는 데이터 수는 5이면 '3,4,5,6,7' 을 통지한다. public class Main { public static void main(String[] args) { range(); rangeLong(); } static void range() { System.out.println("range"); Flowable flowable = Flowable.range(3, 5); flo..