CodeBlanks Logo Icon CodeBlanks

Project Reactor Mono

Project Reactor Mono ile tek değerli reaktif akışı öğrenirsin.

Project Reactor ve Mono

Project Reactor, Reactive Streams'i uygulayan popüler bir kütüphanedir. İki ana akış türü sunar: Mono en çok bir öğe (0 veya 1), Flux birden çok öğe taşır. Bu, akışları öğe sayısına göre sınıflandırır.

Örnek: Mono.just(5) tek bir 5 değeri üreten bir Mono'dur. Üzerine .map(x -> x * 2) ile dönüştürme, .filter(x -> x > 1) ile süzme, .subscribe(...) ile tüketim eklenir. Her işlem yeni bir akış döndürür; bu yüzden işlem zinciri bildirimsel (declarative) okunur.

İşlem zinciri

Reactor'da işlemler bir zincir oluşturur. Her işlem yeni bir akış döndürdüğü için, Mono.just(3).map(x -> x + 1).filter(x -> x > 2).subscribe(...) biçiminde ardışık yazılırlar.

Bu, bildirimsel bir üslup sunar: ne yapılacağı adım adım, akıştan akışa yazılır. map dönüştürür, filter süzer, flatMap iç içe akışları düzleştirir. subscribe çağrılana dek hiçbir şey çalışmaz; bu, tembel (lazy) davranıştır ve gereksiz hesabı önler.

Uygulama Mono ile değeri dönüştürüp yazdır

Mono.just(5) ile bir Mono oluştur. .map(x -> x * 2) ile değeri ikiye katla. .subscribe(System.out::println) ile sonucu yazdır.

Başlangıç kodu

Main.java
// Mono.just ile değer oluştur
// map ile ikiye katla
// subscribe ile yazdır

Örnek çözüm

Main.java
import reactor.core.publisher.Mono;

public class MonoDemo {
    public static void main(String[] args) {
        Mono.just(5)
            .map(x -> x * 2)
            .subscribe(System.out::println);
    }
}

Beklenen çıktı

10

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Reactor türlerini eşleştir

Kavram Anlamı
Mono Tek değer
Flux Çok değer
map Dönüştürür
subscribe Tüketimi başlatır

2 Mono.just çağrısını tamamla

Soru
Mono.____(5)
Cevap
Mono.just(5)

Açıklama: Mono.just tek bir değerle Mono oluşturur.

3 Project Reactor'da tek bir değer üreten akış hangisidir?

  • Optional
  • Flux
  • Stream
  • Mono Doğru cevap

Açıklama: Mono en çok bir öğe taşır.

Uzman bölümündeki tüm dersler